mysql 外联查询 左连接、右连接

实际操作中经常出现,从 A 表中某些字段显示的内容是 B 中的某些字段

LIFE JOIN 左连接:返回包括左表中的所有记录和右表中连接字段相等的记录

RIGHT JOIN 右连接:返回包括右表中的所有记录和左表中连接字段相等的记录

如:有以下两张表 book, reader;

book 表中的数据

 select id, book_name from book;
+----+------------------+
| id | book_name        |
+----+------------------+
|  1 | 人性的优点       |
|  2 | 格兰特船长的儿女 |
|  3 | 双城记           |
+----+------------------+

reader  表中的数据

 select id, read_to_page, book_name from reader;
+----+--------------+-----------+
| id | read_to_page | book_name |
+----+--------------+-----------+
|  1 |          317 |         3 |
|  2 |          352 |         3 |
|  3 |          381 |         3 |
|  4 |          414 |         3 |
|  5 |           18 |         2 |
|  6 |          101 |         2 |
|  7 |          126 |         2 |
|  8 |          181 |         2 |
|  9 |          202 |         2 |
+----+--------------+-----------+

采用左连接查询

 select reader.id, reader.read_to_page, book.book_name from
    -> reader LEFT OUTER JOIN book ON reader.book_name = book.id;
+----+--------------+------------------+
| id | read_to_page | book_name        |
+----+--------------+------------------+
|  5 |           18 | 格兰特船长的儿女 |
|  6 |          101 | 格兰特船长的儿女 |
|  7 |          126 | 格兰特船长的儿女 |
|  8 |          181 | 格兰特船长的儿女 |
|  9 |          202 | 格兰特船长的儿女 |
|  1 |          317 | 双城记           |
|  2 |          352 | 双城记           |
|  3 |          381 | 双城记           |
|  4 |          414 | 双城记           |
+----+--------------+------------------+
9 rows in set (0.00 sec)

采用右连接查询

 select reader.id, reader.read_to_page, book.book_name from
    -> reader RIGHT OUTER JOIN book ON reader.book_name = book.id;
+------+--------------+------------------+
| id   | read_to_page | book_name        |
+------+--------------+------------------+
|    1 |          317 | 双城记           |
|    2 |          352 | 双城记           |
|    3 |          381 | 双城记           |
|    4 |          414 | 双城记           |
|    5 |           18 | 格兰特船长的儿女 |
|    6 |          101 | 格兰特船长的儿女 |
|    7 |          126 | 格兰特船长的儿女 |
|    8 |          181 | 格兰特船长的儿女 |
|    9 |          202 | 格兰特船长的儿女 |
| NULL |         NULL | 人性的优点       |
+------+--------------+------------------+
10 rows in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值