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>中包含聚合函数,则计算每组的汇总值。select>
— 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教程》