文档介绍:第6讲检索数据
使用 SELECT 语句检索数据
过滤数据
设置结果集格式
在查询的基础上生成新表
使用聚合函数
使用 SELECT 语句检索数据
使用 SELECT 语句
指定列
使用 WHERE 子句指定行
SELECT[ALL | DISTINCT][TOP n|n PERCENT]<选择列表> [FROM] {<表资源>} [,…n] [WHERE] <搜索条件>
[ORDER BY] {<字段名[ASC|DESC]>} [,…n]
[GROUP BY] {<分组表达式>}[,…n]
[HAVING] <搜索条件>
基本语法
使用 SELECT 语句
用[ ]括起来的是可选项,SELECT 是必需的
选择列表指定了要返回的列
WHERE 子句指定限制查询的条件
在搜索条件中,可以使用比较操作符、字符串、逻辑操作符来限制返回的行数
使用 SELECT 语句(续)
FROM 子句知道了返回的行和列所属的表
DISTINCT 选项从结果集中消除了重复的行,TOP n 选项限定了要返回的行数
ORDER BY 子句对结果集按某种条件进行排序
GROUP BY 子句是对结果集进行分组
HAVING 子句是在分组的时候,对字段或表达式指定搜索条件
指定列
在选择列表中指定要从表中返回的列
在选择列表中可以包含字段名、表达式、所选关键字或要赋值的局部变量。其语法为
<选择列表> ::= { *|{ 表名| 视图名| 表的别名}.* |{字段名| 表达式|IDENTITYCOL | ROWGUIDCOL } [ [AS] 字段别名] | 字段别名= 表达式}[,...n]
指定要检索的字段时,请注意
选择列表将按照指定顺序查找并显示所查询的字段
不同的字段名用“,”分开,除最后一个字段外
在选择列表中,符号“* ”代表选择表中所有的字段
USE northwind
SELECT employeeid,firstname+' '+lastname,
(year(getdate())-year(birthdate)) as age
FROM employees
GO
示例
使用 WHERE 子句指定行
通过使用 WHERE 子句,可以得到基于搜索条件的行
<搜索条件> ::={ [ NOT ] <搜索条件> [ {AND | OR}[NOT] <搜索条件> ]} [,...n]
<断言>列出了可以在 WHERE 子句中包含的表达式列表
使用 WHERE 子句指定行时,请注意
在所有数据类型为 char、nchar、varchar、nvarchar、text、datetime和 smalldatetime 的数据周围,必须使用单引号(‘)
在使用 SELECT 语句时,尽量使用 WHERE 语句限制将要返回的行
employeeid
lastname
firstname
title
5
Buchanan
Steven
Sales Manager
USE northwind
SELECT employeeid, lastname, firstname, title
FROM employees
WHERE employeeid = 5
GO
示例
第6章检索数据
使用 SELECT 语句检索数据
过滤数据
设置结果集格式
在查询的基础上生成新表
使用聚合函数
过滤数据
使用比较运算符
使用字符串比较符
使用逻辑运算符
检索一定范围内的值
使用值列表作为搜索条件
检索未知值