|
数据库查询是数据库的核心操作,SQL语言提供了SELECT语句进行数据库的查询。
|
|
|
语句格式:SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
|
|
|
|
|
[GROUP BY<列名1>[HAVING<条件表达式>]]
|
|
|
[ORDER BY<列名2>[ASC|DESC]…]
|
|
|
SQL查询中的子句顺序为SELECT、FROM、WHERE、GROUP BY、HAVING和ORDER BY。其中,SELECT、FROM是必须的,HAVING条件子句只能与GROUP BY搭配起来使用。
|
|
|
(1)SELECT子句对应的是关系代数中的投影运算,用来列出查询结果中的属性。其输出可以是列名、表达式、集函数(AVG、COUNT、MAX、MIN、SUM),DISTINCT选项可以保证查询的结果集中不存在重复元组。
|
|
|
(2)FROM子句对应的是关系代数中的笛卡儿积,它列出的是表达式求值过程中需扫描的关系,即在FROM子句中出现多个基本表或视图时,系统首先执行笛卡儿积操作。
|
|
|
(3)WHERE子句对应的是关系代数中的选择谓词。WHERE子句的条件表达式中可以使用的运算符如下表所示。
|
|
|
|
|
|
|
对应关系代数表达式为。
|
|
|