数据库链接

数据库默认连接为内连接,连接时等号(=)两边的顺序没有关系
左(外)链接:select * from S left join SC on  SC.sid=S.id
结果:S=SC+NULL       ,即:部分学生没选课

右(外)链接:select * from S right join SC on SC.sid= S.id
结果:S+NULL = SC         即:部分选课记录没有对应学生(可能退学了 呵呵)

全(外)链接:select * from S full (outer) join SC on SC.id=S.id
结果:S+NULL=SC+NULL   即:所有的学生和所有的选课记录都有


内连接:select * from S inner join SC on SC.sid=s.id
结果:S=SC  即:所有的学生和选课记录都有对应,没有选课的学生或者没有学生的选课记录都被不在结果中

交叉连接:select * from S cross join SC 没有where 子句
结果:S×SC,笛卡尔积,比全外连接范围更大,把没有对应意义的也给查了出来,用处不大

自连接:要查一个部门表中各部门的上级部门,
select dep.depName  (部门), upDep.depName from department as dep left join department upDep on dep.depId = upDep.depId
可以用子查询替代:如下所示:
select depName ,( select depName from department as upDep where upDep.depId=dep.depId ) from department as dep
分析如下:首先分析内层查询语句,但是内层引用了外层数据,因此首先迭代外层表upDep,然后传入内层,开始正式分析内层,把结果作为一个表再传入外层,然后分析外层,得到最终结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值