投影查询
使用SELECT语句可以选择查询表中的任意列,其中,“列表名”指出要检索的列的名称,可以为一个或多个列。当为多个列时,中间要用“,”分隔。FROM子句指出从什么表中提取数据,如果从多个表中取数据,每个表的表名都要写出,表名之间用“,”分隔开。
【例5.1】查询student表中所有记录的name、sex和class列。
SELECT sname,ssex,class
FROM student
本例执行结果如下:
sname ssex class
-------- ---- -----
李军 男 95033
陆君 男 95031
匡明 男 95031
王丽 女 95033
曾华 男 95033
王芳 女 95031
说明:在SQL Server中,SQL语句的执行结果默认以网格方式显示,为了像上述文本方式显示结果,应选择工具栏的按钮 ,在出现的菜单中选择“文本显示结果”。以后的SQL语句的执行结果均以文本方式显示。
如果要去掉重复的显示行,可以在字段名前加上“DISTINCT”关键字来说明。
【例5.2】查询教师所有的单位即不重复的depart列。
SELECT DISTINCT depart
FROM teacher
本例执行结果如下:
depart
----------
电子工程系
计算机系
当显示查询结果时,选择列通常是以原表中的列名作为标题显示。这些列名在建表时,出于节省空间的考虑通常较短,含义也模糊。为了改变查询结果中的显示的标题,可在列名后使用“AS 标题名”,在显示时便以该标题名来显示。
【例5.3】查询student表的所有记录。
SELECT sno AS '学号',sname AS '姓名',ssex AS '性别',
sbirthday AS '出生日期',class AS '班号'
FROM student
本例执行结果如下:
学号 姓名 性别 出生日期 班号
----- ----- ---- ------------------------ -------
101 李军 男 1976-02-20 00:00:00.000 95033
103 陆君 男 1974-06-03 00:00:00.000 95031
105 匡明 男 1975-10-02 00:00:00.000 95031
107 王丽 女 1976-01-23 00:00:00.000 95033
108 曾华 男 1976-09-01 00:00:00.000 95033
109 王芳 女 1975-02-10 00:00:00.000 95031