码迷,mamicode.com
首页 > 其他好文 > 详细

外连接查询

时间:2017-06-13 00:14:15      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:--   查询条件   指定   from   包括   相等   blank   www   tar   

一、外连接查询

外连接查询将查询多个表中相关联的行,内连接时,返回查询结果集合中的仅是符合查询条件和连接条件的行,但有时候需要包含没有关联的行中数据,即返回查询结果集合中的不仅包含符合连接条件的行,而且还包括左表、右表或两个连接表中的所有数据行,外连接分为左连接和外连接

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

 

二、LEFT JOIN ( 左连接 )

(1) 左连接的结果包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是连接列所匹配的行
(2) 如果左表的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列表列均为空值
(3) 为了演示,我们先创建两个,使用左连接查询的语句如下

mysql> SELECT customers.c_id, orders.o_num FROM customers LEFT OUTER JOIN orders ON customers.c_id = orders.c_id;
+-------+-------+
| c_id  | o_num |
+-------+-------+
| 10001 | 30001 |
| 10003 | 30002 |
| 10004 | 30003 |
| 10001 | 30005 |
| 10002 |  NULL |
+-------+-------+

 

三、RIGHT JOIN ( 右连接 )

(1) 右连接是左连接的反向连接,将返回右表的所有行,如果右表的某行在左表中没有匹配行,左表将返回空值
(2) 右连接查询的语句如下

mysql> SELECT customers.c_id, orders.o_num FROM customers RIGHT OUTER JOIN orders ON customers.c_id = orders.c_id;
+-------+-------+
| c_id  | o_num |
+-------+-------+
| 10001 | 30001 |
| 10003 | 30002 |
| 10004 | 30003 |
|  NULL | 30004 |
| 10001 | 30005 |
+-------+-------+

 

 

 

 

    

外连接查询

标签:--   查询条件   指定   from   包括   相等   blank   www   tar   

原文地址:http://www.cnblogs.com/pzk7788/p/6995088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!