
当然,SELECT 查询语句是 SQL(结构化查询语言)中最基础且强大的部分之一。它用于从数据库中检索数据。以下是一些常见的 SELECT 查询语句及其用法示例:
1. 基本 SELECT 查询
SELECT column1, column2, ... FROM table_name;- 用途:从指定的表中选取一列或多列的数据。
- 示例:SELECT first_name, last_name FROM employees;
2. 使用 WHERE 子句过滤数据
SELECT column1, column2, ... FROM table_name WHERE condition;- 用途:根据条件筛选记录。
- 示例:SELECT * FROM employees WHERE department = 'Sales';
3. 使用 AND 和 OR 操作符组合条件
SELECT column1, column2, ... FROM table_name WHERE condition1 AND/OR condition2;- 用途:结合多个条件进行筛选。
- 示例:SELECT * FROM employees WHERE department = 'Sales' AND salary > 50000;
4. 使用 ORDER BY 对结果进行排序
SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;- 用途:按一个或多个列对结果集进行升序或降序排序。
- 示例:SELECT * FROM employees ORDER BY last_name ASC, first_name DESC;
5. 使用 LIMIT 限制返回的行数
SELECT column1, column2, ... FROM table_name LIMIT number;- 用途:限制返回的记录数量。
- 示例:SELECT * FROM employees LIMIT 10;
6. 使用 DISTINCT 去重
SELECT DISTINCT column1, column2, ... FROM table_name;- 用途:返回唯一不同的值。
- 示例:SELECT DISTINCT department FROM employees;
7. 使用聚合函数(如 COUNT、SUM、AVG、MAX、MIN)
SELECT AGGREGATE_FUNCTION(column) FROM table_name;- 用途:计算总和、平均值、最大值、最小值以及行数等统计信息。
- 示例:SELECT COUNT(*) FROM employees; -- 计算总行数 SELECT AVG(salary) FROM employees; -- 计算平均工资
8. 使用 GROUP BY 分组
SELECT column1, AGGREGATE_FUNCTION(column2) FROM table_name GROUP BY column1;- 用途:将结果集分组并应用聚合函数。
- 示例:SELECT department, COUNT(*) FROM employees GROUP BY department;
9. 使用 HAVING 过滤分组后的数据
SELECT column1, AGGREGATE_FUNCTION(column2) FROM table_name GROUP BY column1 HAVING condition;- 用途:在分组后应用条件以过滤分组。
- 示例:SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5;
10. 使用 JOIN 连接表
SELECT a.column1, b.column2, ... FROM table1 a JOIN table2 b ON a.common_field = b.common_field;- 用途:根据共同字段连接两个或多个表。
- 示例:SELECT e.first_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id;
11. 使用子查询
SELECT column1, (SELECT column2 FROM table2 WHERE condition) FROM table1;- 用途:在主查询中嵌套另一个查询。
- 示例:SELECT first_name, (SELECT MAX(salary) FROM employees WHERE department_id = e.department_id) AS max_salary FROM employees e;
12. 使用 UNION 合并结果集
SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;- 用途:合并两个或多个 SELECT 语句的结果集,并去除重复行。
- 示例:SELECT first_name, last_name FROM employees UNION SELECT first_name, last_name FROM managers;
这些只是 SELECT 查询语句的一部分常见用法。SQL 还支持许多其他高级功能,例如窗口函数、公共表表达式(CTE)、递归查询等,可以根据具体需求进一步学习和使用。
