详解MySQL 内连接、外连接、左连接、右连接

建表语句:

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
 

 

一、内连接

select * from a_table a inner join b_table b on a.a_id = b.b_id;

即返回两个表的交集。

二、左连接

select * from a_table a left join b_table b on a.a_id = b.b_id;

 左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

三、右连接(右外连接)

select * from a_table a right join b_table b on a.a_id = b.b_id;

 右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。


参考:图解mysql内连接.....

扫描二维码关注公众号,回复: 7861888 查看本文章

猜你喜欢

转载自www.cnblogs.com/ustc-anmin/p/11864770.html