内连接,左连接,右连接,全连接

内连接,左连接,右连接,全连接
复制代码
表T1:                     表T2:

id name passwd        id jifen dengji

1  jack   jpw             1   20    3

2  tom   tpw      3   50    4
复制代码

1,内连接

复制代码
如果想把用户信息、积分、等级都列出来,那么一般会这样写:

普通:select * from T1, T2 where T1.id = T2.id

内连:select * from T1 inner join T2 on T1.id = T2.id

后者的效率比前面的效率高多了,建议使用内连
复制代码

2,左连接

复制代码
显示左表T1中的所有行,并把右表T2中符合条件加到左表T1中;

右表T2中不符合条件,就不用加入结果表中,并且NULL表示。

SQL语句:select * from T1 left join T2 on T1.id = T2.id

运行结果 :

T1.id name  passwd  T2.id  jifen   dengji   

1     jack    jpw      1     20    3   

2       tom    tpw      NULL   NULL   NULL   
复制代码

3,右连接

复制代码
显示右表T2中的所有行,并把左表T1中符合条件加到右表T2中;

左表T1中不符合条件,就不用加入结果表中,并且NULL表示。

SQL语句:select * from T1 right join T2 on T1.id = T2.id

运行结果:

T1.id   name   passwd   T2.id   jifen   dengji   

1        jack      jpw         1        20      3   

NULL   NULL   NULL        3        50      4
复制代码

4,全连接

复制代码
显示左表T1、右表T2两边中的所有行,即把左联结果表 + 右联结果表组合在一起,然后过滤掉重复的。SQL语句:

select * from T1 full join T2 on T1.id = T2.id

运行结果   

T1.id   name   passwd   T2.id   jifen   dengji   

1         jack      jpw        1         20    3   

2         tom      tpw     NULL   NULL   NULL   

NULL   NULL   NULL        3      50      4 
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值