【MySQL - 表的内外连接】
一、表的内连接
内连接返回两个表中满足连接条件的行。
语法:
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件
二、外连接
外连接返回满足连接条件的行,同时也会返回其中一个表中没有匹配的行。
1. 左外连接
左外连接返回左表中的所有行,即使右表中没有匹配的行。如果右表中没有匹配的行,则右表的列返回 NULL。
语法:
SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
2. 右外连接
右外连接返回右表中的所有行,即使左表中没有匹配的行。如果左表中没有匹配的行,则左表的列返回 NULL。
语法:
SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
三、 合并查询
1. union
取两个查询结果的交集
语法:
#案例:将工资大于2500或职位是MANAGER的人找出来
mysql> select ename, sal, job from EMP where sal>2500 union
-> select ename, sal, job from EMP where job='MANAGER';--去掉了重复记录
2. all union
取两个查询结果的并集
语法:
#案例:将工资大于25000或职位是MANAGER的人找出来
mysql> select ename, sal, job from EMP where sal>2500 union all
-> select ename, sal, job from EMP where job='MANAGER';