查询数据——SELECT语句
SELECT语句的组成结构:(其中[ ]中的为可选项)
①语法格式
- SQL语言中的
SELECT
查询语句用来从数据表中查询数据。其完整的语法格式由一系列的可选字句组成。 - 其最基本的语法格式:(查询一张表中的某些字段)
SELECT 字段名1[,字段名2...]
FROM 表名;
说明:SELECT
关键字后的字段名
可换成*
,*
代表查询数据表中的所有(字段)的内容。 所有SELECT
语句必须有SELECT
子句和FROM
子句,书写时可以将两个字句写在一行中。
- 主要子句的语法格式归纳如下:
SELECT [DISTINCT|ALL] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC|DESC]]
SELECT
:必选子句。可选关键字DISTINCT
用于去除查询结果集中的重复值所在的记录;关键字ALL
用于返回查询结果集中的全部记录,它是默认的关键字,即当没有任何关键字时返回全部记录。select_list可为 * 或 用逗号分隔的字段名列表 或 引用字段名的表达式 或 或其他表达式(常数或函数)。该子句决定了结果集中应该有什么字段。
FOME
:必选子句。其中table_source可以是一个基本表的名称 或 一个视图名称 或 用逗号分隔的基本表名称列表 或 视图名列表 或 基本表名和视图名混合列表。该子句决定了要从哪个(哪些)数据源查询数据。
WHERE
:可选子句。其中search_condition为条件表达式。该子句用于指定查询条件,DBMS将满足条件的行显示出来(或者添加到结果集中)。
GROUP BY
:可选子句。其中group_by_expression为一个字段名 或 用逗号分隔的字段名列表。该子句用于按group_by_expression分组(分类)查询到的数据。
ORDER BY
:可选子句。该子句用于按order_expression排序查询结果。如果其后有ASC(默认值)则按升序排序结果;如果其后有DESC,则按降序排序结果。如果没有该子句,查询结果将以添加记录时的顺序显示。
②各子句的执行顺序
- 假设SELECT语句带有所有的子句,则其执行顺序为:
1.FROM
2.WHERE
3.GROUP BY
4.HAVING
5.SELECT
6.ORDER BY
其基本工作原理是:SELECT
语句的各子句中FROM
子句是首先被执行的,通过FROM