task4:sql集合运算

并:UNION(合并去重):可自动去掉重复的,当想保留重复行时,后面加ALL 即可;当将两个不同表中的数据并时,优于WHERE OR;隐式数据类型转换;
交:暂不支持INTERSECT 可用inner join;或AND
差集:暂不支持EXCEPT,但可用NOT IN ()代替;
对称差:两个集合A,B的对称差是指那些仅属于A或仅属于B的元素构成的集合.
计算:1.(A-B)bing(B-A) 2.AbingB-AjiaoB(相应可借助并集和对称集实现交集(采用计算方法1))
连结(JOIN):(查询的核心操作)实现列的扩展(可理解为列的并(处理));(之前的可理解为行的并(处理))“问题的关键是, 找出一个类似于"轴"或者"桥梁"的公共列, 将两张表用这个列连结起来。这就是连结运算所要作的事情。” FROM 表1 INNER JOIN 表2 ON 连接条件 “要点三: SELECT 子句中的列最好按照 表名.列名 的格式来使用。”;当需要使用WHERE时,放在FROM连结后面,即先连结完列后再根据WHERE条件查询(当然也可采用子查询思路,不过之前那种相对更简洁);
自连结;自然连结(求表公共部分可用自然连结实现)(可用连结求交集);
外连结:对不满足ON条件的行有选择的保留;
三种外连结的对应语法分别为:
– 左连结
FROM <tb_1> LEFT OUTER JOIN <tb_2> ON <condition(s)>
– 右连结
FROM <tb_1> RIGHT OUTER JOIN <tb_2> ON <condition(s)>
– 全外连结
FROM <tb_1> FULL OUTER JOIN <tb_2> ON <condition(s)>
交叉连结(笛卡尔积)

浙ICP备19012682号