| id |
name |
job |
| 1 |
航 |
PHP |
| 2 |
远 |
C |
| 3 |
琦 |
JAVA |
| id |
name |
job |
| 1 |
眼 |
金融 |
| 2 |
航 |
水利 |
| 3 |
远 |
画家 |
内连接
SELECT
a.`id`, a.`name`, a.`job`, b.`id`, b.`name`, b.`job`
FROM
it_job AS a
INNER JOIN
friend_job AS b
ON
a.`name` = b.`name`;
| id |
name |
job |
id1 |
name1 |
job1 |
| 1 |
航 |
PHP |
2 |
航 |
水利 |
| 2 |
远 |
C |
3 |
远 |
画家 |
两个表的交集
左连接/左外连接
SELECT
a.`id`, a.`name`, a.`job`, b.`id`, b.`name`, b.`job`
FROM
it_job AS a
LEFT JOIN
friend_job AS b
ON
a.`name` = b.`name`;
| id |
name |
job |
id1 |
name1 |
job1 |
| 1 |
航 |
PHP |
2 |
航 |
水利 |
| 2 |
远 |
C |
3 |
远 |
画家 |
| 3 |
琦 |
JAVA |
(Null) |
(Null) |
(Null) |
结果如图所示
右连接/右外连接
SELECT
a.`id`, a.`name`, a.`job`, b.`id`, b.`name`, b.`job`
FROM
it_job AS a
RIGHT JOIN
friend_job AS b
ON
a.`name` = b.`name`;
| id |
name |
job |
id1 |
name1 |
job1 |
| (Null) |
(Null) |
(Null) |
1 |
眼 |
金融 |
| 1 |
航 |
PHP |
2 |
航 |
水利 |
| 2 |
远 |
C |
3 |
(远 |
画家 |
原理和左连接一样
全连接
使用UNION 注意UNION和UNION ALL的区别
SELECT
a.`id`, a.`name`, a.`job`
FROM
it_job AS a
UNION
SELECT
b.`id`, b.`name`, b.`job`
FROM
friend_job AS b;
| id |
name |
job |
| 1 |
航 |
PHP |
| 2 |
远 |
C |
| 3 |
琦 |
JAVA |
| 4 |
眼 |
金融 |
| 5 |
航 |
水利 |
| 6 |
远 |
画家 |