有关SQL的外连接和内连接

本文详细介绍了SQL中的不同类型的联接操作,包括外连接(左连接、右连接、全连接)、内连接和交叉连接,并通过具体实例展示了每种联接方式的特点及应用场景。

为了很好地表示下面例子,先给出两张表ta和tb:

 

1、外连接:包括左向外联接、右向外联接或完整外部联接

  1.1 左连接:left join 或 left outer join

    例:select * from ta left join tb on ta.id=tb.id

      结果为:

        id name         id password

        1  ZhangSan  1   111

        2  LiSi            2   222

        3  WangWu   null  null

      返回结果包含表ta的所有子句,根据指定条件返回tb相应的字段,不符合的显示null。

  1.2 右连接:right join 或 right outer join

    例:select * from ta right join tb on ta.id=tb.id

      结果为:

        id  name         id password

        1   ZhangSan  1   111

        2    LiSi           2   222

        null null           4   444

      返回结果包含表tb的所有子句,根据指定条件返回ta相应的字段,不符合的显示null。

  1.3 完整外部联接: full join 或 full outer join

    例:select * from table1 full join table2 on table1.id=table2.id

      结果为:

        id name         id password

        1  ZhangSan  1   111

        2  LiSi            2   222

        3  WangWu   null  null

        null null           4   444

2、内连接:内联接是用比较运算符比较要联接列的值的联接。 join 或 inner join

  例:select * from ta join tb on ta.id=tb.id

    结果为:

        id name         id password

        1  ZhangSan  1   111

        2  LiSi            2   222

    只返回符合条件的结果。等价于语句 select a.*,b.* from ta a,tb b where a.id=b.id
3、交叉连接:没有 WHERE子句的交叉联接将产生联接所涉及的表的笛卡尔积。cross join (不带条件where...)

  例:select * from ta cross join tb

    结果为:

        id name         id password

        1  ZhangSan  1   111

        2  LiSi            1   111

        3  WangWu    1   111

        1  ZhangSan   2   222

        2  LiSi            2   222

                      3  WangWu    2   222

                      1  ZhangSan   4   444

        2  LiSi            4   444

                      3  WangWu   4   444

    执行结果等价于select * from ta, tb

转载于:https://www.cnblogs.com/androidw/archive/2010/11/30/1892282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值