网站首页 网站地图
网站首页 > 创业资讯 > sql查询语句

sql查询语句

时间:2026-03-25 14:22:16

SQL查询语句是用于从数据库中检索数据的基本工具,其基本语法结构如下:

```sql

SELECT [列名或列表达式集合]

FROM [基本表或视图集合]

[WHERE 条件表达式]

[GROUP BY 列名集合]

[HAVING 组条件表达式]

[ORDER BY 列名 [集合] ...]

```

1. 基本查询

选择字段

```sql

SELECT name, age FROM employees;

```

这条语句从`employees`表中选择`name`和`age`这两个字段的所有数据。

条件筛选

```sql

SELECT * FROM employees WHERE age > 30;

```

这条语句筛选出年龄大于30岁的员工信息。

排序数据

```sql

SELECT * FROM employees ORDER BY salary DESC;

```

这条语句按照工资从高到低排序员工信息。

2. 复杂查询

去重查询

```sql

SELECT DISTINCT name FROM students;

```

这条语句查询不重复的学生姓名。

子查询

```sql

SELECT st_no, su_no FROM score WHERE su_no IN (SELECT su_no FROM student WHERE score >= 90);

```

这条语句通过子查询找出所有成绩在90分以上的学生的学号和课程号。

连接查询

```sql

SELECT s.name, s.age, c.course_name

FROM students s

INNER JOIN courses c ON s.course_id = c.id;

```

这条语句通过内连接将学生表和课程表连接起来,查询学生的姓名、年龄和课程名称。

分组查询

```sql

SELECT course_id, COUNT(*) AS student_count

FROM scores

GROUP BY course_id;

```

这条语句按课程ID分组,统计每个课程的学生人数。

排序查询

```sql

SELECT * FROM students

ORDER BY age ASC, score DESC;

```

这条语句先按年龄升序排序,再按成绩降序排序。

3. 聚合函数

计算查询

```sql

SELECT COUNT(*) AS total_students, AVG(score) AS average_score

FROM students;

```

这条语句统计学生总数和平均成绩。

4. 逻辑运算符

AND、OR、NOT

```sql

SELECT * FROM students

WHERE age > 18 AND score >= 85;

```

这条语句查询年龄大于18岁且成绩大于等于85分的学生。

5. 集合运算符

UNION、UNION ALL

```sql

SELECT name FROM students

UNION

SELECT name FROM courses;

```

这条语句查询学生姓名和课程名称,去除重复项。

6. 模糊查询

LIKE

```sql

SELECT * FROM students

WHERE name LIKE '%John%';

```

这条语句查询姓名中包含“John”的学生。

7. 嵌套查询

嵌套查询是指在一个查询语句中嵌套另一个查询语句,通常用于较复杂的跨多个基本表查询的情况。

```sql

SELECT st_no, st_name

FROM students

WHERE st_no IN (

SELECT st_no

FROM scores

WHERE su_no = 'c03' AND score > 80

);

```

这条语句通过嵌套查询找出课程编号为c03且成绩在80分以上的学生的学号和姓名。

总结

SQL查询语句非常强大,可以通过组合不同的子句和运算符来实现复杂的查询需求。掌握这些基本语法和高级功能可以帮助你更有效地从数据库中检索所需的数据。