select语句中的join

join的功能就是把两表连接起来, 然后用双方关联上的字段
 
有4种join
 
t1:         id        a        b
             1         2        3
             2         5        5
             3         5        7
 
t2:         id        c        t1_id
             1         6        2
             2         7        4
             3         8        1
 
我们可以先看看两个表通过t1_id连起来会是什么样子
 
t1.id      a        b         t2.id       c       t1_id
1          2        3          3           8        1
2          5        5          1           6        2
3          5        7        
                                 2           7        4
连起来就这个个样子,我们看到,是有不少空的。空的表示没匹配上。
 
 
1.inner join: 严格匹配,只返回不空的行。显然,我们的的inner合成就是
t1.id      a        b         t2.id       c       t1_id
1          2        3          3           8        1
2          5        5          1           6        2
 
2.left join: 以左表为主 ,如果右表空就空吧,把左表保留。所以合成表就这样:
t1.id      a        b         t2.id       c       t1_id
1          2        3          3           8        1
2          5        5          1           6        2
3          5        7          x           x        x
 
3.right join: 以右表为主 ,跟上面一样
t1.id      a        b         t2.id       c       t1_id
1          2        3          3           8        1
2          5        5          1           6        2
X          x        x          2           7        4
 
4.full join: 松散匹配,不用多说了,松散吗,没限制
t1.id      a        b         t2.id       c       t1_id
1          2        3          3           8        1
2          5        5          1           6        2
3          5        7        
                                 2           7        4
 
匹配之后就可以用双方的字段了。
具体sql语句:
 
 select t1.id,t2.c,t2.id from t1            (这里就t1为主,也就是说t1成了左表)
  inner(left,right,full) join t2 on t1.id = t2.t1_id          (on后面写连接条件)

转载于:https://www.cnblogs.com/bgwan/archive/2013/03/13/2957545.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值