MySQL 内连接、左连接(左外连接)、右连接(右外连接)
创建示例表
1
2
3
4
5
6
7
8
9
10
11
|
CREATE TABLE `a_table` (
`a_id` int(11) DEFAULT NULL,
`a_name` varchar(10) DEFAULT NULL,
`a_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `b_table` (
`b_id` int(11) DEFAULT NULL,
`b_name` varchar(10) DEFAULT NULL,
`b_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
内连接
组合两个表中的记录,返回两个表关联字段相交集的记录
关键字:INNER JOIN ON
1
|
SELECT * FROM a_table a INNER JOIN b_table b ON a.a_id = b.b_id;
|
左连接(左外连接)
LEFT JOIN
是LEFT OUTER JOIN
的简写,全称是左外连接,是外连接中的一种。
左(外)连接,以左表为主,返回左表全部,右表返回符合条件的记录。右表记录不存在时显示NULL。
关键字:LEFT JOIN ON
/ LEFT OUTER JOIN ON
1
|
SELECT * FROM a_table a LEFT JOIN b_table b ON a.a_id = b.b_id;
|
右连接(右外连接)
RIGHT JOIN
是RIGHT OUTER JOIN
的简写,全称是右外连接,是外连接中的一种。
右(外)连接,以右表为主,返回右表全部,左表返回符合条件的记录。左表记录不存在时显示NULL。
关键字:RIGHT JOIN ON
/ RIGHT OUTER JOIN ON
1
|
SELECT * FROM a_table a RIGHT OUTER JOIN b_table b ON a.a_id = b.b_id;
|
参考