内连接、左外连接、右外连接、交叉连接及其区别

时间:2022-05-08 22:34:04

    首先建立两张表AB

    A

    Aidint类型,无符号递增,主键

    namevarchar类型

    内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别

    B

    Bidint类型,无符号递增,主键

    namevarchar类型

    ageint类型

    内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别

     

  1. 内连接(INNER JOIN

利用内连接可获取两表的公共部分的记录。

select * from A JOIN B ON A.name=B.name

内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别

  1. 外连接

外连接分为两种,左连接(Left JOIN)和右连接(Right JOIN)

  1. 左连接(Left JOIN)

select * from A Left JOIN B ON A.name=B.name

内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别

  1. 右连接(Right JOIN)

select * from A Right JOIN B ON A.Aid=B.Bid

内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别

  1. 交叉连接(CROSS JOIN)

有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积。

  1. 显式:

select A.*,B.* from A CROSS  JOIN B ON A.name=B.name

内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别

  1. 隐式:

select A.*,B.* from A ,B WHERE A.name=B.name

内连接、左外连接、右外连接、交叉连接及其区别内连接、左外连接、右外连接、交叉连接及其区别