一、单表查询
(一)简单条件查询
1.精确查询
2.模糊查询
3. and运算符
4. or运算符
5. and 与or运算符混合使用
因为and的优先级比or大,所以我们需要用 ( ) 来改变优先级。
6. 范围查询
7. 空值查询
(二)去掉重复记录
(三)排序查询
(四)基于伪列的查询
在Oracle 的表的使用过程中,实际表中还有一些附加的列,称为伪列。伪列就像表中的列一样,但是在表中并不存储。伪列只能查询,不能进行增删改操作。接下来学习两个伪列:ROWID和ROWNUM。
1 ROWID
表中的每一行在数据文件中都有一个物理地址,ROWID 伪列返回的就是该行的物理地址。使用ROWID 可以快速的定位表中的某一行。ROWID 值可以唯一的标识表中的一行。由于ROWID返回的是该行的物理地址,因此使用ROWID可以显示行是如何存储的。
2 ROWNUM
在查询的结果集中,ROWNUM为结果集中每一行标识一个行号,第一行返回1,第二行返回2,以此类推。通过ROWNUM伪列可以限制查询结果集中返回的行数
(五)聚合统计
1. 聚合函数
(1)求和 sum
(2)求平均 avg
(3)求最大值 max
2. 分组聚合Groupby
3. 分组后条件查询 having
二、连接查询
(一)多表内连接查询
(二)左外连接查询
如果是左外连接,就在右表所在的条件一端填上(+)
(三)右外连接查询
三、子查询
(一)where子句中的子查询
(二)from子句中的子查询
from子句的子查询为多行子查询
(三)select子句中的子查询
select 子句的子查询必须为单行子查询
四、分页查询
(二)基于排序的分页
五、单行函数
(二)数值函数
(三)日期函数
(四)转换函数
六、行列转换
七、分析函数
(1) RANK 相同的值排名相同,排名跳跃
(2) DENSE_RANK 相同的值排名相同,排名连续
(3) ROW_NUMBER 返回连续的排名,无论值是否相等
八、集合运算
集合运算,集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算
包括:
··UNIONALL(并集),返回各个查询的所有记录,包括重复记录。
··UNION(并集),返回各个查询的所有记录,不包括重复记录。
··INTERSECT(交集),返回两个查询共有的记录。
··MINUS(差集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。