SQL(结构化查询语言)是一种用于管理关系型数据库的编程语言。本文将简单介绍SQL中的各种查询,并提供易于理解的示例。希望对于初学者来说,这将是一个轻松学习SQL查询的好方法。
1. SELECT 查询
SELECT语句用于从数据库中提取数据。你可以选择提取一个或多个列,或者整张表的数据。以下是一些基本示例:
1.1 提取全部列
查询所有列的数据:
SELECT * FROM employees;
1.2 提取指定列
查询指定列的数据:
SELECT first_name, last_name FROM employees;
2. WHERE 子句
WHERE子句用于过滤查询结果。根据指定的条件,只返回符合条件的数据。示例如下:
2.1 使用等于运算符
查询年龄为30的员工:
SELECT * FROM employees WHERE age = 30;
2.2 使用不等于运算符
查询年龄不等于30的员工:
SELECT * FROM employees WHERE age <> 30;
3. 聚合函数
聚合函数对查询结果执行计算操作,如计数、求和、平均等。以下是一些常用的聚合函数示例:
3.1 COUNT
计算员工总数:
SELECT COUNT(*) FROM employees;
3.2 SUM
计算员工薪水总额:
SELECT SUM(salary) FROM employees;
4. GROUP BY 子句
GROUP BY子句用于将查询结果按指定列进行分组。这在与聚合函数结合使用时非常有用。示例如下:
4.1 按部门分组计算员工总数
SELECT department, COUNT(*) FROM employees GROUP BY department;
5. HAVING 子句
HAVING子句用于过滤GROUP BY子句生成的分组。与WHERE子句不同,HAVING子句适用于聚合函数。示例如下:
5.1 过滤部门员工数大于10的部门
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 10;
6. JOIN 语句
JOIN语句用于将两个或多个表的数据连接起来。以下是几种常见的JOIN类型及示例:
6.1 INNER JOIN
查询员工及其所在部门的详细信息:
SELECT employees.*, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.department_id;
6.2 LEFT JOIN
查询所有员工及其所在部门的详细信息(即使某些员工没有分配部门)
SELECT employees.*, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;