SQL中select语句的语法结构是什么?

  • 来源:网络
  • 更新日期:2020-08-28

摘要:SQL中select语句的语法结构是:“SELECT select_list [ INTO..] FROM table_name [ WHERE...] [ GROUP BY...][ HAVING...][ ORDER BY...];”。SELECT语句由一系列灵活的子句

SQL中select语句的语法结构是:“SELECT select_list [ INTO..] FROM table_name [ WHERE...] [ GROUP BY...][ HAVING...][ ORDER BY...];”。

SELECT语句由一系列灵活的子句组成,这些子句共同确定检索哪些数据。用户使用SELECT语句除可以查看普通数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息。在介绍SELECT语句的使用之前,有必要对SELECT语句的基本语法结构及执行过程作一下介绍。

SELECT语句的语法结构

虽然SELECT语句的完整语法较复杂,但其主要子句可归纳如下:

SELECT select_list
[ INTO new_table]
FROM table_name
[ WHERE search_condition]
[ GROUP BY group_by_expression]
[ HAVING search_condition]
[ ORDER BY order_expression [ ASC|DESC ] ]

必需的子句只有SELECT子句和FROM子句,其他的子句都是可选的。各子句具体含义如下:

— SELECT子句:指定由查询返回的列。

— INTO子句:将检索结果存储到新表或视图中。

— FROM子句:用于指定引用的列所在的表或视图。如果对象不止一个,那么它们之间必须用逗号分开。

— WHERE子句:指定用于限制返回的行的搜索条件。如果SELECT语句没有WHERE子句,DBMS假设目标表中的所有行都满足搜索条件。

— GROUP BY子句:指定用来放置输出行的组,并且如果SELECT子句<select list>中包含聚合函数,则计算每组的汇总值。

— HAVING子句:指定组或聚合的搜索条件。HAVING通常与GROUP BY子句一起使用。如果不使用GROUP BY子句,HAVING的行为与WHERE子句一样。

— ORDER BY子句:指定结果集的排序。ASC关键字表示升序排列结果,DESC关键字表示降序排列结果。如果没有指定任何一个关键字,那么ASC就是默认的关键字。如果没有ORDER BY子句,DBMS将根据输入表中的数据的存放位置来显示数据。

SELECT各子句的顺序及功能

SELECT语句中的子句顺序非常重要。可以省略可选子句,但这些子句在使用时必须按适当的顺序出现。它们在SELECT查询语句中的排列顺序及主要作用如表4.1所示。

表4.1 SELECT查询语句各子句的顺序及作用

顺序序号

子句关键词

子句功能

1

SELECT

从指定表中取出指定列的数据

2

FROM

指定要查询操作的表

3

WHERE

用来规定一种选择查询的标准

4

GROUP BY

对结果集进行分组,常与聚合函数一起使用

5

HAVING

返回选取的结果集中行的数目

6

ORDER BY

指定分组的搜寻条件

如果在同一个SELECT查询语句中,用到了表4.1中所示的一些查询子句,则各查询子句的排列就依照它们的顺序序号由低到高的顺序。

相关推荐:《 PHP教程 》、《mysql教程》