文档介绍:第5章数据查询
本章学习目标
  l   掌握SELECT语句结构
   l   熟练使用SELECT语句查询数据
SELECT语句结构
SELECT在任何一种SQL语言中,都是使用频率最高的语句,它具有强大的查询功能,有的用户甚至只需要熟练掌握SELECT语句的一部分,就可以轻松地利用数据库来完成自己的工作。可以说SELECT是SQL语言的灵魂。SELECT语句的作用是让数据库服务器根据客户端的要求搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。用户使用SELECT语句除可以查看普通数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息。
SELECT语句的语法格式如下:SELECT select_list[ INTO new_table_name ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ]其中: l         select_list 指明要查询的选择列表。列表可以包括若干个列名或表达式,列名或表达式之间用逗号隔开,用来指示应该返回哪些数据。表达式可以是列名、函数或常数的列表。l         INTO new_table_name 指定用查询的结果创建成一个新表。new_table_name为新表名称。
l        FROM table_source 指定所查询的表或视图的名称。
l        WHERE search_condition 指明查询所要满足的条件。
l       GROUP BY group_by_expression 根据指定列中的值对结果集进行分组。
l         HAVING search_condition 对用FROM、WHERE或GROUP BY子句创建的中间结果集进行行的筛选。它通常与GROUP BY子句一起使用。
l         [ ORDER BY order_expression [ ASC | DESC ] ] 对查询结果集中的行重新排序。ASC 和DESC关键字分别用于指定按升序或降序排序。如果省略ASC或DESC,则系统默认为升序。
使用SELECT语句查询数据
使用SELECT子句
SELECT子句的语法为:
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] [ WITH TIES ] ]
< select_list >
其中:
l         ALL关键字为默认设置,用于指定查询结果集的所有行,包括重复行。
l         DISTINCT 用于删除结果集中重复的行。
l         TOP n [ PERCENT ] 指定只返回查询结果集中的前n行。如果加了PERCENT,则表示只返回查询结果集中的前n%行。
WITH TIES 用于指定从基本结果集中返回附加的行。
l         select_list 指明要查询的选择列表。列表可以包括若干个列名或表达式,列名或表达式之间用逗号隔开,用来指示应该返回哪些数据。如果使用星号*则表示返回FROM子句中指定的表或视图中的所的列。表达式可以是列名、函数或常数的列表。
【例5-1】查询学生基本信息表中的所有信息。
在查询分析器中运行如下命令:
USE XSCJ
GO
SELECT * FROM 学生基本信息表
GO
运行结果如图5-1所示,它将学生基本信息表的所有信息均显示出来。
图5-1 查询学生基本信息表中的所有信息
【例5-2】在学生基本信息表中查询学生的学号、姓名、性别和族别信息。
在查询分析器中运行如下命令:
USE XSCJ
GO
SELECT 学号,姓名,性别,族别 FROM 学生基本信息表
GO
运行结果如图5-2所示。
图5-2 在学生基本信息表中查询学生的学号、姓名、性别和族别信息
【例5-3】从学生基本信息表中查询学生由几个民族构成。
从例2结果可知,学生的族别有多行重复,要快速查询学生的民族构成,实际上就是对相同值的族别只需要显示一行,可使用DISTINCT关键字实现。
在查询分析器中运行如下命令:
USE XSCJ
GO
SELECT DISTINCT 族别 FROM 学生基本信息表
GO
运行结果如图5-3所示。
图5-3 从学生基本信息表中查询学生由几个民族构成