什么是查询?
查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是现从数据表中提取数据,并按照表的形式显示出来
单表查询
使用列别名改变查询结果的列标题
消除取值重复的行
查询条件元组
IN<值表>NOT IN<值表>
[NOT]LINK’<匹配串>’
匹配串含通配符的字符串
使用换码字符串将通配符转义为普通字符
IS NULL 或 IS NOT NULL
“IS”不能用”=“替代
多重条件查询–AND和OR
ORDER BY子句
可以按一个或多个属性列排序,升序:ASC;降序:DESC;缺省值为升序
当排列含空值时ASC:排序列为空值的元组最后显示;DESC:排序列为空值的元组最先显示
聚集函数
GROUP BY子句
GROUP BY子句分组:细化聚集函数的作用对象
未对查询结果分组,聚集函数将作用整个查询结果
对查询结果分组后,聚集函数将分别作用于每个组
作用对象是查询的中间结果表
按指定的一列或多列值分组,值相等的为一组
HAVING短语与WHERE子句的区别:
作用对象不同
WHERE子句作用于基表或视图,从中选择满足条件的元组
HAVING短语作用于组,从中选择满足条件的组
连接查询
等值与非等值连接查询
自身连接
自身连接:一个表与其自己进行连接
需要给表起别名以示区别
由于所有属性 名都是同名属性,因此必须使用别的名前缀
外连接
外连接与普通连接的区别
普通连接操作只输出满足连接条件的元组
外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出
左外连接:列出左边关系中所有的元组 -右外连接:列出右边关系中所有的元组