数据库--SQL进阶之多表查询
一. 合并结果集 要求被合并的表中,类的类型和列数相同 UNION,去除重复行 UNION ALL,不去除重复行 SELECT * FROM cd UNION ALL SELECT * FROM ab; 二. 连接查询 1.分类 内连接 外连接 左外连接 右外连接 全外连接(MySQL不支持) 自然连接 2.内连接 方言:SELECT * FROM 表1 别名1, 表2 别名2 WHERE 别名1.xx=别名2.xx; 标准: SELECT * FROM 表1 别名1 INNER JOIN 表2 别名2 WHERE 别名1.xx=别名2.xx; 自然: SELECT * FROM 表1 别名1 UATURAL JOIN 表2 别名2; 3. 外连接 左外:SELECT * FROM 表1 别名1 LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx; 左表记录无论是否满足条件都会查询出来,而右表只有满足条件才能出来。左表中不满足条件的记录,右表部分都为NULL 左外自然:SELECT * FROM 表1 别名1 NATURAL LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx; 右外:SELECT * FROM 表1 别名1 RIGHT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx;