• 注册
  • 赞助本站

    • 支付宝
    • 微信
    • QQ

    感谢一直支持本站的所有人!

    • 查看作者
    • 5-10:外连接OUTER JOIN

      一.  左外连接

      LEFT [OUTER] JOIN,左外连接,作用是:

      显示左表的全部记录及右表符合连接条件的记录,如下图:

      5-10:外连接OUTER JOIN

      我们将上一节的INNER JOIN语句改成LEFT JOIN试一下:

      mysql> SELECT goods_id,goods_name,cate_name FROM tdb_goods LEFT JOIN tdb_goods_cates ON tdb_goods.cate_id = tdb_goods_cates.cate_id \G
      *************************** 1. row ***************************
        goods_id: 1
      goods_name: R510VC 15.6英寸笔记本
       cate_name: 笔记本
      *************************** 2. row ***************************
        goods_id: 2
      goods_name: Y400N 14.0英寸笔记本电脑
       cate_name: 笔记本
      *************************** 3. row ***************************
        goods_id: 3
      goods_name: G150TH 15.6英寸游戏本
       cate_name: 游戏本
      *************************** 4. row ***************************
        goods_id: 4
      goods_name: X550CC 15.6英寸笔记本
       cate_name: 笔记本
      *************************** 5. row ***************************
        goods_id: 5
      goods_name: X240(20ALA0EYCD) 12.5英寸超极本
       cate_name: 超级本
      *************************** 6. row ***************************
        goods_id: 6
      goods_name: U330P 13.3英寸超极本
       cate_name: 超级本
      *************************** 7. row ***************************
        goods_id: 7
      goods_name: SVP13226SCB 13.3英寸触控超极本
       cate_name: 超级本
      *************************** 8. row ***************************
        goods_id: 8
      goods_name: iPad mini MD531CH/A 7.9英寸平板电脑
       cate_name: 平板电脑
      *************************** 9. row ***************************
        goods_id: 9
      goods_name: iPad Air MD788CH/A 9.7英寸平板电脑 (16G WiFi版)
       cate_name: 平板电脑
      *************************** 10. row ***************************
        goods_id: 10
      goods_name:  iPad mini ME279CH/A 配备 Retina 显示屏 7.9英寸平板电脑 (16G WiFi版)
       cate_name: 平板电脑
      *************************** 11. row ***************************
        goods_id: 11
      goods_name: IdeaCentre C340 20英寸一体电脑
       cate_name: 台式机
      *************************** 12. row ***************************
        goods_id: 12
      goods_name: Vostro 3800-R1206 台式电脑
       cate_name: 台式机
      *************************** 13. row ***************************
        goods_id: 13
      goods_name: iMac ME086CH/A 21.5英寸一体电脑
       cate_name: 台式机
      *************************** 14. row ***************************
        goods_id: 14
      goods_name: AT7-7414LP 台式电脑 (i5-3450四核 4G 500G 2G独显 DVD 键鼠 Linux )
       cate_name: 台式机
      *************************** 15. row ***************************
        goods_id: 15
      goods_name: Z220SFF F4F06PA工作站
       cate_name: 服务器/工作站
      *************************** 16. row ***************************
        goods_id: 16
      goods_name: PowerEdge T110 II服务器
       cate_name: 服务器/工作站
      *************************** 17. row ***************************
        goods_id: 17
      goods_name: Mac Pro MD878CH/A 专业级台式电脑
       cate_name: 服务器/工作站
      *************************** 18. row ***************************
        goods_id: 18
      goods_name:  HMZ-T3W 头戴显示设备
       cate_name: 笔记本配件
      *************************** 19. row ***************************
        goods_id: 19
      goods_name: 商务双肩背包
       cate_name: 笔记本配件
      *************************** 20. row ***************************
        goods_id: 20
      goods_name: X3250 M4机架式服务器 2583i14
       cate_name: 服务器/工作站
      *************************** 21. row ***************************
        goods_id: 21
      goods_name:  HMZ-T3W 头戴显示设备
       cate_name: 笔记本配件
      *************************** 22. row ***************************
        goods_id: 22
      goods_name: 商务双肩背包
       cate_name: 笔记本配件
      *************************** 23. row ***************************
        goods_id: 23
      goods_name:  LaserJet Pro P1606dn 黑白激光打印机
       cate_name: NULL
      23 rows in set (0.00 sec)

      可以看到23条记录全部显示了,但是第23个商品的商品分类为NULL,因为LEFT JOIN显示的是左表的全部记录及右表符合连接条件的记录,因为第23个商品的商品分类12在右表中不符合连接符合条件,所以显示为空。

      二.  右外连接

      RIGHT [OUTER] JOIN,右外连接,作用是:

      显示右表的全部记录及左表符合连接条件的记录,如下图:

      5-10:外连接OUTER JOIN

      我们将上面的LEFT语句再改成RIGHT试一下:

      mysql> SELECT goods_id,goods_name,cate_name FROM tdb_goods LEFT JOIN tdb_goods_cates ON tdb_goods.cate_id = tdb_goods_cates.cate_id \G
      *************************** 1. row ***************************
        goods_id: 1
      goods_name: R510VC 15.6英寸笔记本
       cate_name: 笔记本
      *************************** 2. row ***************************
        goods_id: 2
      goods_name: Y400N 14.0英寸笔记本电脑
       cate_name: 笔记本
      *************************** 3. row ***************************
        goods_id: 3
      goods_name: G150TH 15.6英寸游戏本
       cate_name: 游戏本
      *************************** 4. row ***************************
        goods_id: 4
      goods_name: X550CC 15.6英寸笔记本
       cate_name: 笔记本
      *************************** 5. row ***************************
        goods_id: 5
      goods_name: X240(20ALA0EYCD) 12.5英寸超极本
       cate_name: 超级本
      *************************** 6. row ***************************
        goods_id: 6
      goods_name: U330P 13.3英寸超极本
       cate_name: 超级本
      *************************** 7. row ***************************
        goods_id: 7
      goods_name: SVP13226SCB 13.3英寸触控超极本
       cate_name: 超级本
      *************************** 8. row ***************************
        goods_id: 8
      goods_name: iPad mini MD531CH/A 7.9英寸平板电脑
       cate_name: 平板电脑
      *************************** 9. row ***************************
        goods_id: 9
      goods_name: iPad Air MD788CH/A 9.7英寸平板电脑 (16G WiFi版)
       cate_name: 平板电脑
      *************************** 10. row ***************************
        goods_id: 10
      goods_name:  iPad mini ME279CH/A 配备 Retina 显示屏 7.9英寸平板电脑 (16G WiFi版)
       cate_name: 平板电脑
      *************************** 11. row ***************************
        goods_id: 11
      goods_name: IdeaCentre C340 20英寸一体电脑
       cate_name: 台式机
      *************************** 12. row ***************************
        goods_id: 12
      goods_name: Vostro 3800-R1206 台式电脑
       cate_name: 台式机
      *************************** 13. row ***************************
        goods_id: 13
      goods_name: iMac ME086CH/A 21.5英寸一体电脑
       cate_name: 台式机
      *************************** 14. row ***************************
        goods_id: 14
      goods_name: AT7-7414LP 台式电脑 (i5-3450四核 4G 500G 2G独显 DVD 键鼠 Linux )
       cate_name: 台式机
      *************************** 15. row ***************************
        goods_id: 15
      goods_name: Z220SFF F4F06PA工作站
       cate_name: 服务器/工作站
      *************************** 16. row ***************************
        goods_id: 16
      goods_name: PowerEdge T110 II服务器
       cate_name: 服务器/工作站
      *************************** 17. row ***************************
        goods_id: 17
      goods_name: Mac Pro MD878CH/A 专业级台式电脑
       cate_name: 服务器/工作站
      *************************** 18. row ***************************
        goods_id: 18
      goods_name:  HMZ-T3W 头戴显示设备
       cate_name: 笔记本配件
      *************************** 19. row ***************************
        goods_id: 19
      goods_name: 商务双肩背包
       cate_name: 笔记本配件
      *************************** 20. row ***************************
        goods_id: 20
      goods_name: X3250 M4机架式服务器 2583i14
       cate_name: 服务器/工作站
      *************************** 21. row ***************************
        goods_id: 21
      goods_name:  HMZ-T3W 头戴显示设备
       cate_name: 笔记本配件
      *************************** 22. row ***************************
        goods_id: 22
      goods_name: 商务双肩背包
       cate_name: 笔记本配件
      *************************** 23. row ***************************
        goods_id: 23
      goods_name:  LaserJet Pro P1606dn 黑白激光打印机
       cate_name: NULL
      23 rows in set (0.00 sec)
      mysql> SELECT goods_id,goods_name,cate_name FROM tdb_goods RIGHT JOIN tdb_goods_cates ON tdb_goods.cate_id = tdb_goods_cates.cate_id \G
      *************************** 1. row ***************************
        goods_id: 11
      goods_name: IdeaCentre C340 20英寸一体电脑
       cate_name: 台式机
      *************************** 2. row ***************************
        goods_id: 12
      goods_name: Vostro 3800-R1206 台式电脑
       cate_name: 台式机
      *************************** 3. row ***************************
        goods_id: 13
      goods_name: iMac ME086CH/A 21.5英寸一体电脑
       cate_name: 台式机
      *************************** 4. row ***************************
        goods_id: 14
      goods_name: AT7-7414LP 台式电脑 (i5-3450四核 4G 500G 2G独显 DVD 键鼠 Linux )
       cate_name: 台式机
      *************************** 5. row ***************************
        goods_id: 8
      goods_name: iPad mini MD531CH/A 7.9英寸平板电脑
       cate_name: 平板电脑
      *************************** 6. row ***************************
        goods_id: 9
      goods_name: iPad Air MD788CH/A 9.7英寸平板电脑 (16G WiFi版)
       cate_name: 平板电脑
      *************************** 7. row ***************************
        goods_id: 10
      goods_name:  iPad mini ME279CH/A 配备 Retina 显示屏 7.9英寸平板电脑 (16G WiFi版)
       cate_name: 平板电脑
      *************************** 8. row ***************************
        goods_id: 15
      goods_name: Z220SFF F4F06PA工作站
       cate_name: 服务器/工作站
      *************************** 9. row ***************************
        goods_id: 16
      goods_name: PowerEdge T110 II服务器
       cate_name: 服务器/工作站
      *************************** 10. row ***************************
        goods_id: 17
      goods_name: Mac Pro MD878CH/A 专业级台式电脑
       cate_name: 服务器/工作站
      *************************** 11. row ***************************
        goods_id: 20
      goods_name: X3250 M4机架式服务器 2583i14
       cate_name: 服务器/工作站
      *************************** 12. row ***************************
        goods_id: 3
      goods_name: G150TH 15.6英寸游戏本
       cate_name: 游戏本
      *************************** 13. row ***************************
        goods_id: 1
      goods_name: R510VC 15.6英寸笔记本
       cate_name: 笔记本
      *************************** 14. row ***************************
        goods_id: 2
      goods_name: Y400N 14.0英寸笔记本电脑
       cate_name: 笔记本
      *************************** 15. row ***************************
        goods_id: 4
      goods_name: X550CC 15.6英寸笔记本
       cate_name: 笔记本
      *************************** 16. row ***************************
        goods_id: 18
      goods_name:  HMZ-T3W 头戴显示设备
       cate_name: 笔记本配件
      *************************** 17. row ***************************
        goods_id: 19
      goods_name: 商务双肩背包
       cate_name: 笔记本配件
      *************************** 18. row ***************************
        goods_id: 21
      goods_name:  HMZ-T3W 头戴显示设备
       cate_name: 笔记本配件
      *************************** 19. row ***************************
        goods_id: 22
      goods_name: 商务双肩背包
       cate_name: 笔记本配件
      *************************** 20. row ***************************
        goods_id: 5
      goods_name: X240(20ALA0EYCD) 12.5英寸超极本
       cate_name: 超级本
      *************************** 21. row ***************************
        goods_id: 6
      goods_name: U330P 13.3英寸超极本
       cate_name: 超级本
      *************************** 22. row ***************************
        goods_id: 7
      goods_name: SVP13226SCB 13.3英寸触控超极本
       cate_name: 超级本
      *************************** 23. row ***************************
        goods_id: NULL
      goods_name: NULL
       cate_name: 路由器
      *************************** 24. row ***************************
        goods_id: NULL
      goods_name: NULL
       cate_name: 交换机
      *************************** 25. row ***************************
        goods_id: NULL
      goods_name: NULL
       cate_name: 网卡
      25 rows in set (0.00 sec)

    • 0
    • 0
    • 0
    • 2.4k
    • 请登录之后再进行评论

      登录
    • 单栏布局 侧栏位置: