五、ORACLE高级查询
2017-02-14 本文已影响0人
闲不住的李先森
消除重复行 DISTINCT
![](https://img.haomeiwen.com/i3518238/4ee18f651e597e50.png)
NULL 操作
如果某条记录中有缺少数据值,就是空值(null值),空值不等于0或者空格,空值的意思是未赋值、未知、或者不可用,任何数据类型的列都可以包括null值,除非该列被定义为非空或者主键。
在查询条件中NULL值用IS NULL作条件,非NULL值用NOT IS NULL作条件。
![](https://img.haomeiwen.com/i3518238/397e609389538d16.png)
IN 操作
在where中可以使用IN操作符号来表示多种可能,同OR用法。
![](https://img.haomeiwen.com/i3518238/800709a07ae0ef14.png)
对应的操作还有NOT IN 用法一样,结果相反。
BETWEEN...AND..操作符 表示范围
![](https://img.haomeiwen.com/i3518238/23c57bb01ded8377.png)
LIKE 模糊查询
![](https://img.haomeiwen.com/i3518238/ba4cf5424df7492f.png)
![](https://img.haomeiwen.com/i3518238/03e21dc8acc30893.png)
集合运算 将两个或者两个以上的结果集组合称为一个结果集。
INTERSECT(交集),返回两个查询共有的记录。
UNION ALL (并集),返回各个查询的所有记录。
UNION (并集),返回各个查询的所有记录,不包含重复。
MINUS(补集),以结果一为全集,结果二为子集,返回全集减去子集的结果。
可以用UNION 配合INSERT INTO 插入多条数据。
![](https://img.haomeiwen.com/i3518238/ec0dfebaf12e6e44.png)
连接查询
连接分为内连接(INNER JOIN)外连接(OUTER JOIN),外连接又分为左连接(LEFT JOIN)和(RIGHT JOIN)。ORACLE 中表示外连接的时候用 + 表示。
![](https://img.haomeiwen.com/i3518238/895801ea3b6bf6c6.png)
![](https://img.haomeiwen.com/i3518238/c614ad0034d09c3d.png)
ORACLE + 专用的连接符号,在条件中出现在左边表示右链接,出现在右边表示左连接。
另外一种写法:
![](https://img.haomeiwen.com/i3518238/6c9c3b3c174d4fa2.png)