码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-10-22 23:54:27      阅读:252      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!