SQL Server 2017从零开始学(视频教学版)
上QQ阅读APP看书,第一时间看更新

4.2.4 数据查询SELECT语句

对于数据库管理系统来说,数据查询是执行频率最高的操作,是数据库中非常重要的部分。T-SQL中使用SELECT语句进行数据查询,SELECT语句的基本语法结构如下:

     SELECT [ALL | DISTINCT] {* | <字段列表>}
     FROM  table_name | view_name
     [WHERE <condition>]
     [GROUP BY <字段名>] [HAVING <expression> ]
     [ORDER BY <字段名>] [ASC | DESC]

主要参数介绍如下:

• ALL:指定在结果集中可以包含重复行。

• DISTINCT:指定在结果集中只能包含唯一行。对于DISTINCT关键字来说,NULL值是相等的。

• {* | <字段列表>}:包含星号通配符和选字段列表,“*”表示查询所有的字段,“字段列表”表示查询指定的字段,字段列至少包含一个字段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段后不要加逗号。

• FROM table_name | view_name:表示查询数据的来源。table_name表示从数据表中查询数据,view_name表示从视图中查询。对于表和视图,在查询时均可指定单个或者多个。

• WHERE <condition>:指定查询结果需要满足的条件。

• GROUP BY <字段名>:该子句告诉SQL Server显示查询出来的数据时按照指定的字段分组。

• [ORDER BY <字段名>]:该子句告诉SQL Server按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)、降序(DESC)。

为了演示本节介绍的内容,可以在指定的数据库中建立下面的数据表,并插入记录数据。

执行语句后,查看stu_info表的数据,结果如图4-9所示。

图4-9 创建stu_info表

【例4.14】查询stu_info表中的所有学生信息,输入语句如下。

     SELECT * FROM stu_info;

执行结果如图4-10所示。可以看到,使用星号(*)通配符时,将返回所有列,列按照定义表时的顺序显示。

图4-10 查询stu_info表中所有学生信息

有时候,并不需要数据表中的所有字段值,此时可以指定需要查询的字段名称,这样不但显示的结果更清晰,而且能提高查询的效率。

【例4.15】查询stu_info数据表中学生的姓名和成绩,输入语句如下。

     SELECT s_name, s_score FROM stu_info;

代码执行结果如图4-11所示。

图4-11 查询stu_info数据表中学生的姓名和成绩字段