建表准备
CREATE TABLE person (id INT,name VARCHAR(20),cardId INT);INSERT INTO person VALUES (1, '小炮', 1);INSERT INTO person VALUES (2, '幺儿', 3);INSERT INTO person VALUES (3, '阿鸡', 6);CREATE TABLE card (id INT,name VARCHAR(20));INSERT INTO card VALUES (1, '柠檬会员')INSERT INTO card VALUES (2, '悠悠会员')INSERT INTO card VALUES (3, '正阳会员')INSERT INTO card VALUES (4, '霞光会员')INSERT INTO card VALUES (5, '晨曦会员')
内连接 INNER JOIN
SELECT * FROM person INNER JOIN card ON person.cardId=card.id
| id | name | cardId | id | name |
| 1 | 小炮 | 1 | 1 | 柠檬会员 |
| 2 | 幺儿 | 3 | 3 | 正阳会员 |
左外连接 LEFT JOIN
SELECT * FROM person LEFT JOIN card on person.cardId=card.id
| id | name | cardId | id | name |
| 1 | 小炮 | 1 | 1 | 柠檬会员 |
| 2 | 幺儿 | 3 | 3 | 正阳会员 |
| 3 | 阿鸡 | 6 | null | null |
右外连接 RIGHT JOIN
SELECT * FROM person RIGHT JOIN card on person.cardId=card.id
| id | name | cardId | id | name |
| 1 | 小炮 | 1 | 1 | 柠檬会员 |
| 2 | 幺儿 | 3 | 3 | 正阳会员 |
| null | null | null | 2 | 悠悠会员 |
| null | null | null | 4 | 霞光会员 |
| null | null | null | 5 | 晨曦会员 |
完全外连接:mysql不支持full join,使用Union关键字
SELECT * FROM person LEFT JOIN card on person.cardId=card.idUNIONSELECT * FROM person RIGHT JOIN card on person.cardId=card.id
id | name | cardId | id | name |
| 1 | 小炮 | 1 | 1 | 柠檬会员 |
| 2 | 幺儿 | 3 | 3 | 正阳会员 |
| 3 | 阿鸡 | 6 | null | null |
| null | null | null | 2 | 悠悠会员 |
| null | null | null | 4 | 霞光会员 |
| null | null | null | 5 | 晨曦会员 |
有图有真相

文章转载自极南之地,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




