SQL中的几种join的方法_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1751 | 回复: 0   主题: SQL中的几种join的方法        下一篇 
shylone
注册用户
等级:下士
经验:199
发帖:90
精华:0
注册:2011-11-24
状态:离线
发送短消息息给shylone 加好友    发送短消息息给shylone 发消息
发表于: IP:您无权察看 2015-7-9 18:09:37 | [全部帖] [楼主帖] 楼主

(1)连接 

select * from table1,table2


等价于 

select * from table1 cross join table2
select * from table1,table2 where table1.row=table2.row


(2)自连接 

select * from emploly e1 ,emploly e2
select e1.name,e2.name from employ e1,employ e2
where e1.name=e2.name


(3)内连接(inner join) 
select stuname as '姓名',classname as '班级' from student inner join class on student.stuid=class.stuid 

inner join '表名' on 条件 --连接多个表 
它等价于: 
select stuname as '姓名',classname as '班级' 

from student,class
where student.stuid=class.stuid


(4)外连接:(outer join) 
允许限制一张表中的行,而不限制另外一张表中的行。 
注意:外连接不一定非要有外键约束 

1: left outer join --不能用left out join 


左表中的记录全部会出现在结果集中,匹配不上的显示NULL 

2: right outer join


右表中的记录全部会出现在结果集中,匹配不上的显示NULL 

3: full outer join full join --不能用full out join 


返回两个表中的匹配和不匹配的所有记录。 

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论