【SQL查询语句大全】在数据库管理与数据处理中,SQL(Structured Query Language)是不可或缺的工具。无论是简单的数据检索,还是复杂的数据分析,SQL都扮演着核心角色。掌握常用的SQL查询语句,不仅能够提高工作效率,还能帮助开发者更好地理解和操作数据库结构。
以下是一些常见的SQL查询语句,涵盖了基本的数据查询、条件筛选、排序、分组、连接等常用功能,适合初学者和有一定基础的用户参考使用。
一、基本查询语句
1. SELECT语句:用于从表中选取数据
```sql
SELECT FROM 表名;
```
示例:
```sql
SELECT FROM employees;
```
此语句会返回 `employees` 表中的所有记录。
2. 指定字段查询
```sql
SELECT 字段1, 字段2 FROM 表名;
```
示例:
```sql
SELECT name, age FROM employees;
```
二、条件查询(WHERE子句)
3. 使用WHERE进行过滤
```sql
SELECT FROM 表名 WHERE 条件;
```
示例:
```sql
SELECT FROM employees WHERE salary > 5000;
```
4. 多条件组合查询
```sql
SELECT FROM 表名 WHERE 条件1 AND 条件2;
```
示例:
```sql
SELECT FROM employees WHERE department = 'HR' AND salary > 6000;
```
三、排序(ORDER BY)
5. 按字段升序或降序排列
```sql
SELECT FROM 表名 ORDER BY 字段 ASC|DESC;
```
示例:
```sql
SELECT FROM employees ORDER BY salary DESC;
```
四、聚合函数
6. 统计总数
```sql
SELECT COUNT() FROM 表名;
```
7. 求和
```sql
SELECT SUM(字段) FROM 表名;
```
8. 平均值
```sql
SELECT AVG(字段) FROM 表名;
```
9. 最大/最小值
```sql
SELECT MAX(字段), MIN(字段) FROM 表名;
```
五、分组与筛选(GROUP BY 和 HAVING)
10. 按字段分组
```sql
SELECT 字段, COUNT() FROM 表名 GROUP BY 字段;
```
示例:
```sql
SELECT department, COUNT() FROM employees GROUP BY department;
```
11. 结合HAVING进行分组后的筛选
```sql
SELECT 字段, COUNT() FROM 表名
GROUP BY 字段
HAVING COUNT() > 5;
```
示例:
```sql
SELECT department, COUNT() FROM employees
GROUP BY department
HAVING COUNT() > 10;
```
六、连接查询(JOIN)
12. 内连接(INNER JOIN)
```sql
SELECT a.字段, b.字段
FROM 表1 a
INNER JOIN 表2 b
ON a.关联字段 = b.关联字段;
```
示例:
```sql
SELECT e.name, d.department_name
FROM employees e
INNER JOIN departments d
ON e.department_id = d.id;
```
13. 左连接(LEFT JOIN)
```sql
SELECT a.字段, b.字段
FROM 表1 a
LEFT JOIN 表2 b
ON a.关联字段 = b.关联字段;
```
左连接会保留左表的所有记录,即使右表没有匹配项。
七、子查询
14. 在WHERE中使用子查询
```sql
SELECT FROM 表名 WHERE 字段 IN (SELECT 字段 FROM 表名 WHERE 条件);
```
示例:
```sql
SELECT FROM employees
WHERE department_id IN (SELECT id FROM departments WHERE location = 'Beijing');
```
八、DISTINCT去重
15. 去除重复值
```sql
SELECT DISTINCT 字段 FROM 表名;
```
示例:
```sql
SELECT DISTINCT department FROM employees;
```
九、LIMIT限制结果数量
16. 限制返回的记录数
```sql
SELECT FROM 表名 LIMIT 数量;
```
示例:
```sql
SELECT FROM employees LIMIT 10;
```
十、INSERT插入数据
17. 插入新记录
```sql
INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2);
```
示例:
```sql
INSERT INTO employees (name, age, department_id)
VALUES ('张三', 28, 1);
```
十一、UPDATE更新数据
18. 修改已有记录
```sql
UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 WHERE 条件;
```
示例:
```sql
UPDATE employees
SET salary = 7000
WHERE id = 101;
```
十二、DELETE删除数据
19. 删除记录
```sql
DELETE FROM 表名 WHERE 条件;
```
示例:
```sql
DELETE FROM employees WHERE id = 101;
```
结语
SQL作为数据库操作的核心语言,掌握其基本语法和常见用法,是每一位开发者和数据分析师必备的技能。本文整理了一些常用的SQL查询语句,涵盖查询、筛选、排序、聚合、连接、子查询等多个方面,希望对大家在实际工作中有所帮助。随着经验的积累,SQL的应用将更加灵活和高效。