首页 > 其他 > 详细

【cl】多表查询(内、外连接)

时间:2015-10-22 23:52:18      阅读:266      评论:0      收藏:0      [点我收藏+]

 交叉连接(cross join):该连接产生的结果集笛卡尔积

a有7行,b有8行    a的第一行与b的每一行进行连接,就有8条a得第一行

7*8=56条

select a.real_name,s.unix_host,s.os_username

from account a cross  join service s;(56条)

select a.real_name,s.unix_host,s.os_username

from account a cross  join service s

where a.id = s.account_id;

内连接 (join 或者inner join)

ps:ijoin 是inner join的简写,是同个意思

select a.real_name,s.unix_host,s.os_username

from account a  join service s  on a.id = s.account_id;

驱动表:在生成结果集的时候从这张表出发  左边是驱动表

 匹配表:

 

外连接分为左连接(left join 或 left outer join)、右连接(right join 或者 right outer join)、和完整外部连接(full join 或者 full outer join)

 left join 左边的表不加限制

(左边有7条记录,其中有4条与右边的有匹配共8条,找不到匹配的就显示一条整条右边是空的(共3条),找到的就匹配)共11条

right join 右边的表不加限制

(右边有8条记录,8条与左边7个的都有1个匹配,总的8条

【cl】多表查询(内、外连接)

原文:http://www.cnblogs.com/dieyaxianju/p/4901679.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!