MySQL中外连接和内连接的区别(实战案例)

 

1、数据库

1.1、作者表

MySQL中外连接和内连接的区别(实战案例)_第1张图片

 

1.2、图书表

MySQL中外连接和内连接的区别(实战案例)_第2张图片

1.3、出版社表

MySQL中外连接和内连接的区别(实战案例)_第3张图片

2、left join

  left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录。

2.1、sql语句

select * from app01_publisher left join app01_book on app01_publisher.id = app01_book.publish_id

 

2.2、查询结果

MySQL中外连接和内连接的区别(实战案例)_第4张图片

3、right join

  right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录。

3.1、sql语句

select * from app01_publisher right join app01_book on app01_publisher.id = app01_book.publish_id

 

3.2、查询结果

MySQL中外连接和内连接的区别(实战案例)_第5张图片

4、innner join

  inner join(等值连接) 只返回两个表中联结字段相等的行。

4.1、sql语句

select * from app01_publisher inner join app01_book on app01_publisher.id = app01_book.publish_id

4.2、查询结果

MySQL中外连接和内连接的区别(实战案例)_第6张图片

转自:https://www.cnblogs.com/bad-robot/p/9788959.html

5、补充

作者表
id name
1 张三
2 李四
3 王五
4 张三
5 张三
6 张三
7 张三
8 李四
9 李四
图书表
id AuthorId BookName
1 1 mysql
2 2 oracle
SELECT 作者,书名
FROM
作者表
LEFT JOIN
图书表
ON 作者表.Id = 图书表.AuthorId
查询结果
作者 书名
张三 mysql
张三 mysql
张三 mysql
张三 mysql
张三 mysql
李四 oracle

 

你可能感兴趣的:(数据库)