数据库的内连接、左连接和右连接

今天在上看到一个非常浅显易懂的左右连接和内连接的例子,简直秒啊,记录一下

具体演示前提: 创建两个表: 用两个表(a_table 和 b_table),关联字段 a_table.a_id 和 b_table.b_id 来演示一下 MySQL 的内连接、外连接( 左连接、右连接)。

CREATE TABLE `a_table` (
  `a_id` int(11) DEFAULT NULL,
  `a_name` varchar(10) DEFAULT NULL,
  `a_part` varchar(10) DEFAULT NULL
) 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
) DEFAULT CHARSET=utf8

表测试数据: 一、内连接 关键字:inner join on 语句:select * from a_table a inner join b_table b on a.a_id = b.b_id; 执行结果: 说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集部分。

二、左连接(左外连接) 关键字:left join on / left outer join on 语句:select * from a_table a left join b_table b on a.a_id = b.b_id; 执行结果: 说明: left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。 左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL 三、右连接(右外连接)

关键字:right join on / right outer join on 语句:select * from a_table a right outer join b_table b on a.a_id = b.b_id; 执行结果: 说明: right join是right outer join的简写,它的全称是右外连接,是外连接中的一种。 与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。

经验分享 程序员 微信小程序 职场和发展