首页 > 代码库 > SQL 集合(笔记)

SQL 集合(笔记)

——SQL是关于集合的

  oracle是关系型数据,其中的数据表都是有一定规律的数据的一个个集合,所以在使用SQL时,如果能按照集合的思路来进行时会节省很多效率,也鞥让语句更加的清晰明了。

 

1、四个集合运算符

1)union 返回不重复的数据行;

2)union all 返回所有的数据行(包括重复的);

3)minus 返回第一个输入查询存在,其他查询不存在的数据行;

4)intersect 返回所有数据查询中都存在的数据行。

注:除union all 以外的集合运算都需要对结果进行排序/取唯一值操作,这就意味着需要更多地效率,所以在不关心重复的情况下尽量使用union all

 

2、关于空值(null)

关系模型只有真、假两个结果;而SQL语言允许有三个结果:真、假、未知。

而对于未知这种结果,oracle会认为是正确的,于是在很多的搜索条件中都必须要注意这一点,否则搜索出来的结果和预期会有很大的出入

order by 语句默认把null值放在最后输出,如果要把它放在前边,需要在order by 语句后面加上 nulls first 

null在聚合函数中,会被自动的去除掉,也就是不参与聚合函数的运算

 

SQL 集合(笔记)