MENU

外连接、交叉连接、自连接

June 13, 2018 • Read: 2930 • SQL阅读设置

外连接定义

不但返回满足连接条件的所有记录,而且会返回部分不满足条件的记录

分类
  1. 左外连接

    不但返回满足条件的所有记录,而且会返回左表不满足连接条件的记录
  2. 右外连接

    不但返回满足条件的所有记录,而且会返回右表不满足连接条件的记录
  3. 完全连接

    结果集包含3个部分:

    1. 两个表中匹配的所有行记录
    2. 左表中那些在右表中找不到匹配行的记录,这些记录的右边全是null
    3. 右表中那些在左表中找不到匹配行的记录,这些记录的左边全是null
左外连接的实际意义

返回一个事物及其该事物的相关信息,如果该事物没有相关信息,则输出null

例子
  • 已知条件:

    • productStocks货物库存表,orderform订单表
    • pID是产品编号
  • sql语句
select * from productStocks p
    left join orderform o
    on p.pID = o.pID
  • 实际意义

返回仓库中现存货物的信息及其该货物的订单信息,如果该货物没有订单信息,则把该货物的订单信息全部输出为null

右外连接的实际意义

与做外连接一样,就不过多阐述了

交叉连接
select * from emp cross join dept
--等价于
select * from emp,dept
自连接

自连接,顾名思义就是自己跟自己连接,使用方法类似于内连接,内连接是A表和B表通过某种条件关系连接起来,自连接就想当于把内连接的B表换成A表而已

Last Modified: October 19, 2018
Archives Tip
QR Code for this page
Tipping QR Code