回忆是一座桥
却是通往寂寞的牢

SQL语法 - 使用SELECT语句查询表中数据

SELECT语句基础

SELECT语句是最基本也是最常用的查询工具,它允许用户从数据库表中检索特定的数据行和列,其基本语法如下:

SELECT [DISTINCT] column1, column2, …

FROM table_name

WHERE condition;

SELECT后跟要检索的列名,可以是具体列名或通配符*(表示所有列)。FROM指定要查询的表名。WHERE子句用于过滤结果集,只返回满足条件的行。此外,可以使用DISTINCT关键字对返回的表进行去重。

GROUP BY子句

GROUP BY子句用于将查询结果按一个或多个列进行分组。常与聚合函数(如COUNT()SUM()AVG()等)一起使用。

SELECT column1, COUNT(*)

FROM table_name

WHERE condition;

GROUP BY column1;

注意事项:

  • SELECT后跟的列必须在GROUP BY列表中出现,除非使用聚合函数进行聚合。

  • GROUP BY必须跟在WHERE后面,但WHERE可以省略。

  • 分组后的查询结果中,每一行代表一个分组。

HAVING子句

HAVING子句用于过滤GROUP BY后的分组结果。与WHERE不同,HAVING可以在聚合函数上设置条件。

SELECT column1, COUNT(*) as c

FROM table_name

GROUP BY column1

HAVING COUNT(*) > 10; -- 不能引用别名C

注意事项:

  • HAVING子句必须在GROUP BY之后使用。

  • HAVING条件可以包含聚合函数,但不能引用SELECT后的别名。

ORDER BY子句

ORDER BY子句用于对查询结果进行排序。可以指定升序(ASC)或降序(DESC)。

SELECT column1, column2

FROM table_name

ORDER BY column1 ASC, column2 DESC;

注意事项:

  • 默认排序方式为升序。

  • 可以同时按多个列排序,且顺序可以与SELECT后的列表顺序不一致。

限制返回的行数

在不同的数据库实现中,限制返回行数的命令可能不一致,以下给出MySQL和SQL Server的行数限制命令:

1、MySQL

MySQL使用LIMIT来限制返回的结果行数。

SELECT * FROM table_name LIMIT 10;

2、SQL Server

SQL Server使用TOP来限制结果集大小。

SELECT TOP 10 * FROM table_name;
未经允许不得转载:夕枫 » SQL语法 - 使用SELECT语句查询表中数据
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论