SQL中的几种join的方法

(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
返回两个表中的匹配和不匹配的所有记录。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值