简单深入理解left join、right join、inner join之间的关系

前言:很多人干了几年的开发,一直认为自己对连接很是理解,也包括我自己。下面几个示例,将教会大家,既简单又能深入理解SQL连接之间的关系

1、SQL之LEFT JOIN

含义:顾名思义,左连接以左表为主的连接。其返回左表中的所有记录和右表中连接字段相等的记录

2、SQL之RIGHT JOIN

含义:顾名思义,右连接以右表为主的连接。其返回右表中的所有记录和左表中连接字段相等的记录

3、SQL之INNER JOIN

含义:顾名思义,左连接以左表为主的连接。其返回左表和右表关联字段相等的行

示例:

A表:

aid     name

1        张三

2        李四

3        王五

4        赵六

C表:

cid        age

1           18

2           20

3           22

5           21

LEFT JOIN:

select * from A a left join C c on a.aid = c.cid

结果:

aid                name                cid                age

1                   张三                   1                 18       

2                   李四                   2                  20

3                   王五                   3                  22

4                   赵六                   NULL           NULL

结论:查询左表所有数据,右表不符合以NULL值显示

RIGHT JOIN:

select * from A a right join C c on a.aid = c.cid

结果:

aid                name                cid                age

1                   张三                   1                 18       

2                   李四                   2                  20

3                   王五                   3                  22

NULL            NULL                 5                  21

结论:查询右表所有数据,左表不符合以NULL值显示

INNER JOIN:

select * from A a rigth join C c on a.aid = c.cid

结果:

aid                name                cid                age

1                   张三                   1                 18       

2                   李四                   2                  20

3                   王五                   3                  22

结论:只查询涉及到连表之间都符合的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值