文档介绍:第8章数据检索
SELECT 语句
使用SELECT 语句进行简单查询
使用T-SQL语句进行高级查询
用户定义函数在数据检索中的应用
数据查询的优化
分布式查询简介
返回目录
1
SELECT 语句
SELECT 语句的基本语法
SELECT [ALL|DISTINCT] column_list
[INTO new_table_name]
FROM table_list
[WHERE search_condition]
[GROUP BY group_by_list]
[HAVING search_condition]
[ORDER BY order_list [ASC | DESC] ]
SELECT语句中各子句的说明
SELECT:此关键字用于从数据库中检索数据。
ALL|DISTINCT:ALL指定在结果集中可以包含重复行,ALL 是默认设置;关键字DISTINCT指定SELECT 语句的检索结果不包含重复的行。
2
column_list:描述进入结果集的列,它是由逗号分隔的表达式的列表。每个列表中表达式通常是对从中获取数据的源表或视图的列的引用,但也可能是其它表达式,例如常量或 Transact-SQL 函数。如果select_list使用*,表明指定返回源表中的所有列。
•INTO new_table_name :指定查询到的结果集存放到一个新表中。new_table_name为指定新表的名称。
FROM table_list:用于指定产生检索结果集的源表的列表。这些源表包括:SQL Server的本地服务器中的基表、本地 SQL Server 中的视图、链接表。SQL Server 将一个视图引用内部解析为针对组成视图的一个或多个基表的引用,链接表是从SQL Server 进行访问的 OLE DB 数据源中的表,这种访问方式称为分布式查询。有关视图的概念将在第九章中介绍。
3
WHERE search_condition:用于指定检索的条件,它定义了源表中的行数据进入结果集所要满足的条件,只有满足条件的行才能出现在结果集中。
GROUP BY group_by_list:GROUP BY子句根据group_by_list 列中的值将结果集分成组。
HAVING search_condition:HAVING子句是应用于结果集的附加筛选。从逻辑上讲,HAVING子句从中间结果集对行进行筛选,这些中间结果集是用SELECT语句中的 FROM、WHERE或GROUP BY子句创建的。HAVING 子句通常与 GROUP BY 子句一起使用,尽管HAVING子句前面不必有GROUP BY子句。
ORDER BY order_list [ ASC | DESC ]:ORDER BY子句定义结果集中的行排列的顺序。order_list 指定依据哪些列来进行排序。ASC和DESC关键字用于指定结果集是按升序还是按降序排序,DESC降序排序,ASC升序排序。ORDER BY 是一个重要的子句,要想获得有序的查询结果,必须使用ORDER BY子句,因为关系理论规定表中的数据行是没有次序的。
4
在使用SELECT语句时应注意如下几点:
①必须按照正确的顺序指定 SELECT 语句中的子句。
②对数据库对象的每个引用必须具有唯一性。
在系统中,可能有多个数据库对象带有相同的名称。例如,User1和User2可能都创建了一个名为Table_0的表。在引用表Table_0时,为了区分引用的是User1的Table_0表,还是引用的是User2的Table_0,就必须对引用名称有所限定,如:User1. Table_0,User2. Table_0。
③在执行SELECT 语句时,对象所驻留的数据库不一定总是当前数据库。若要确保总是使用正确的对象,则不论当前数据库是如何设置的,均应使用数据库和所有者来限定对象名称,如:。
④在 FROM 子句中所指定的表或视图可能有相同的列名,外键很可能和相关主键同名。加上对象名称来限定列名可解决重复列名称的问题,如:、teacher. department_no。
本章首页
5
最基本的SQL查询语句
改变列标题的显示
使用WHERE子句的查询
TOP和DISTINCT关键字
使用ORDER BY子句对结果进行排序
计算列的使用
基于多个检索条件的查询
使用SELECT语句进行简单查询
本章首页
6
最基本的SQL查询语句