《数据库系统概论》| 第三章 关系数据库标准语言SQL 知识梳理 (二、数据查询) 知识梳理
1.概述
- 数据查询是数据库的核心操作。
SQL提供了SELECT语句进行查询。一般格式为:
SELECT [ALL|DISTINCT] <目标列表达式> …
FROM <表名或视图名> | (SELECT语句) [AS]<别名>
WHERE <条件表达式> 条件
GROUP BY <列名> HAVING<条件表达式> 分组
ORDER BY <列名> [ASC|DESC] 排序
2.单表查询
-
单表查询是涉及一个表的查询。
-
查询指定列:通过在SELECT子语句<目标列表达式> 中指定的查询的属性列。
-
查询全部列:<目标列表达式>可以换位“ * ”查询表的全部列项。
-
消除取值重复行:可以用DISTINCT消除他们。
SELECT Sno FROM SC 存在重复行。
SELECT DISTINCT Sno FROM SC消除了重复行。 -
查询满足条件的元组:
查询满足指定条件的元组可以通过WHERE语句实现。
-
OEDER BY语句:对查询结果按照一个或多个属性列进行升序(ASC)或降序(DESC),默认升序。
-
聚集函数:
COUNT(*) 统计元组的个数。
COUNT([DISTINCT|ALL] <列名>)统计一列值的个数。
SUM([DISTINCT|ALL] <列名>)计算一列值的总和(此列必须是数值型的)。
AVG([DISTINCT|ALL] <列名>)计算一列值的平均值(此列必须是数值型的)。
MAX([DISTINCT|ALL] <列名>)求一列值最大的。
MIN([DISTINCT|ALL] <列名>)求一列值最小的。 -
GROUP BY 子句:查询结果按某一列或多列的值进行分组,值相等的为一组。
注释:分组后聚集函数将作用于每个组,,每一组都有一个函数值。
3.连接查询
- 等值与非等值查询:连接查询的WHERE子句中用来连接两个条件称为连接条件,一般格式为
[<表名1>].<列名1><比较运算符>[<表名2>].<列名2> 其中比较运算符包括 =、>、<、>=、<=、!=等
当连接符为=时,称为等值连接,其他运算为非等值连接。