select查询语句大全

select查询语句大全

当然,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)、递归查询等,可以根据具体需求进一步学习和使用。