查询语句有哪些

查询语句有哪些

查询语句(Query Statements)是用于从数据库中检索数据的SQL(Structured Query Language,结构化查询语言)指令。以下是一些常见的查询语句类型及其基本用法:

1. SELECT 查询

用于从一个或多个表中选取数据。

SELECT column1, column2, ... FROM table_name WHERE condition;
  • column1, column2, ...:要选择的列名。
  • table_name:表名。
  • condition:(可选)筛选条件。

2. DISTINCT 查询

用于返回唯一不同的值。

SELECT DISTINCT column1, column2, ... FROM table_name;

3. JOIN 查询

用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

  • INNER JOIN:返回两个表中匹配的记录。SELECT a.*, b.* FROM table1 a INNER JOIN table2 b ON a.common_field = b.common_field;
  • LEFT JOIN (或 LEFT OUTER JOIN):返回左表中的所有记录和右表中匹配的记录;如果右表中没有匹配,则结果中右表的部分包含NULL。SELECT a.*, b.* FROM table1 a LEFT JOIN table2 b ON a.common_field = b.common_field;
  • RIGHT JOIN (或 RIGHT OUTER JOIN):返回右表中的所有记录和左表中匹配的记录;如果左表中没有匹配,则结果中左表的部分包含NULL。SELECT a.*, b.* FROM table1 a RIGHT JOIN table2 b ON a.common_field = b.common_field;
  • FULL JOIN (或 FULL OUTER JOIN):返回两个表中所有的记录,当其中一个表中没有匹配时,结果中另一个表的部分包含NULL。SELECT a.*, b.* FROM table1 a FULL JOIN table2 b ON a.common_field = b.common_field;

4. UNION 查询

用于合并两个或多个 SELECT 语句的结果集,并删除重复的行。

SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;

5. GROUP BY 查询

用于结合聚合函数,根据一个或多个列对结果集进行分组。

SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

6. HAVING 查询

用于过滤 GROUP BY 结果集中的行。

SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > value;

7. ORDER BY 查询

用于对结果集按照一个或多个列进行排序。

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
  • ASC:升序(默认)。
  • DESC:降序。

8. LIMIT 和 OFFSET 查询

用于限制返回的记录数以及指定从哪一条记录开始获取数据。

SELECT column1, column2, ... FROM table_name LIMIT number OFFSET offset;

或者在某些数据库中使用:

SELECT column1, column2, ... FROM table_name LIMIT offset, number;

9. 子查询(Subquery)

在一个查询的 WHERE 或 FROM 子句中嵌套另一个查询。

-- 在 WHERE 子句中的子查询 SELECT column1 FROM table_name WHERE column2 = (SELECT column2 FROM another_table WHERE condition); -- 在 FROM 子句中的子查询(派生表) SELECT sub.column1, sub.column2 FROM (SELECT column1, column2 FROM another_table) AS sub WHERE sub.condition;

这些查询语句是SQL中最常用的几种形式,通过组合和修改它们,可以构建出复杂且强大的数据库查询。