下面的这些是基于mysql写的
user表
job表
内连接
取两个表的交集
SELECT * FROM USER u INNER JOIN job j ON u.id = j.id
SELECT * FROM USER u,job j WHERE u.id = j.id(这种方式也可以取到)
左连接(左外连接)
以左表为基础的查询,取左表全部 右表对应的
SELECT * FROM USER u LEFT JOIN job j ON u.id = j.id
SELECT * FROM USER u RIGHT OUTER JOIN job j ON u.id = j.id
左连接和左外连接我百度了很多,也测试了很多,查询的结果是一样的。也有说left join 是left outer join的缩写。
右连接(右外连接)
以右表为基础的查询,取右表全部 左表对应的
SELECT * FROM USER u RIGHT JOIN job j ON u.id = j.id
SELECT * FROM USER u RIGHT OUTER JOIN job j ON u.id = j.id
全连接(全外连接)
(FULL OUTER JOIN/FULL JOIN) mysql不支持这种查询,因此使用 UNION 来进行查询
两个表的全部数据都展示
SELECT * FROM USER u LEFT JOIN job j ON u.id = j.id
UNION
SELECT * FROM USER u RIGHT JOIN job j ON u.id = j.id