集合运行符结论:
前提条件:
1、数据列的数量需要相等
2、数据列的相对应的类型需要一致或可以相互隐式转换
intersect 只显示重复的数据
minus 只显示第一个结果集中不相同的数据
union 显示第一个结果集中的所有数据 + 第二个结果集中的不同的数据
union all 显示 2 个结果集中所有的数据
表连接:
笛卡尔积(cross join):显示 2 个结果集的乘积
+ 操作符:
老的连接方式
+ 只能出现在 where 子句中,不能与 outer join 语法同时使用
当使用 + 操作符执行外连接时,如果在 where 子句中包含有多个条件,则必须在所有条件中都包含 + 操作符
+ 操作符只适用于列,而不能用在表达式上
+ 操作符不能与 or 和 in 操作符一起使用
+ 操作符只能用于实现左外连接和右外连接,而不能实现完全外连接
+ 操作符所在的表为补充表,另一方为主表,会显示所有主表的数据 + 补充表符合条件的数据
inner join...on、join...on、=:
内连接、等值连接 是一个意思,显示符合条件的值
join...using :关联连接
2 个表中需要有相同的字段,且字段类型相同,关联的字段在使用时不能加别名;显示 using 关联字段的 2 个结果集中相同的数据
NATURAL JOIN:自连接
会以两个表中具有相同名字的列为条件创建等值连接
如果多个列名符合,都会做为条件
不需要 on 条件
A left outer join B on(…) :左连接
以A表记录显示为主,B表记录为补充.当A表记录在B表找不到对等记录时,B以NULL方式
A right outer join B on(…) :右外连接
以B表记录显示为主,A表记录为补充.当B表记录在A表找不到对等记录时,A以NULL方式
full outer join…on():全外连接
显示 左外连接 + 右外连接 - 重复值