数据库基础总结(四)——SQL单表查询操作

SQL单表查询操作

关系例子
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

1)查询方式

SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …
FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句) [AS]<别名>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ];

数据库基础总结(四)——SQL单表查询操作

2)查询指定列

数据库基础总结(四)——SQL单表查询操作

3)查询全部列

选出所有属性列:
(1)在SELECT关键字后面列出所有列名
(2)将<目标列表达式>指定为 *
数据库基础总结(四)——SQL单表查询操作

4)查询经过计算的值

数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

5)消除取值重复的行

数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

6)比较大小

数据库基础总结(四)——SQL单表查询操作

7)确定范围

BETWEEN … AND …
NOT BETWEEN … AND …
IN <值表>, NOT IN <值表>
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

8)字符匹配

[NOT] LIKE ‘<匹配串>’ [ESCAPE ‘ <换码字符>’]
<匹配串>可以是一个完整的字符串,也可以含有通配符%和 _
(1)% (百分号) 代表任意长度(长度可以为0)的字符串
例如a%b表示以a开头,以b结尾的任意长度的字符串
(2) _ (下横线) 代表任意单个字符。
例如a_b表示以a开头,以b结尾的长度为3的任意字符串
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

9)涉及空值的查询

谓词: IS NULL 或 IS NOT NULL
“IS” 不能用 “=” 代替
数据库基础总结(四)——SQL单表查询操作

数据库基础总结(四)——SQL单表查询操作

10)多条件查询

逻辑运算符:AND和 OR来连接多个查询条件
(1)AND的优先级高于OR
(2)可以用括号改变优先级
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

11)ORDER BY语句

ORDER BY子句
(1)可以按一个或多个属性列排序
(2)升序:ASC;降序:DESC;缺省值为升序
对于空值,排序时显示的次序由具体系统实现来决定
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

12)聚集函数

聚集函数:
统计元组个数
COUNT(*)

统计一列中值的个数
COUNT([DISTINCT|ALL] <列名>)

计算一列值的总和(此列必须为数值型)
SUM([DISTINCT|ALL] <列名>)

计算一列值的平均值(此列必须为数值型)
AVG([DISTINCT|ALL] <列名>)

求一列中的最大值和最小值
MAX([DISTINCT|ALL] <列名>)
MIN([DISTINCT|ALL] <列名>)

数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作

13)GROUP BY子句

细化聚集函数的作用对象
(1)如果未对查询结果分组,聚集函数将作用于整个查询结果
(2)对查询结果分组后,聚集函数将分别作用于每个组
(3)按指定的一列或多列值分组,值相等的为一组
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
数据库基础总结(四)——SQL单表查询操作
HAVING短语与WHERE子句的区别:
(1)作用对象不同
(2)WHERE子句作用于基表或视图,从中选择满足条件的元组
(3)HAVING短语作用于组,从中选择满足条件的组。