oracle连接查询mysql_oracle连接查询

一直以来都被什么内连接、左连接、左外连接、右连接、右外连接、全连接什么的搞的糊里糊涂的,自己动手建两张表,写个sql语句查查,发现其实左连接和左外连接是一回事,右连接和右外连接也是一回事。曾经有个家伙在我面前卖弄什么左连接是这样的,左外连接又

一直以来都被什么内连接、左连接、左外连接、右连接、右外连接、全连接什么的搞的糊里糊涂的,自己动手建两张表,写个sql语句查查,发现其实左连接和左外连接是一回事,右连接和右外连接也是一回事。曾经有个家伙在我面前卖弄什么左连接是这样的,左外连接又是那样的,说的神神秘秘的,听的我糊里糊涂的。自己动手测一下,发现也就那样,用结果说明,更有说服力。

注:没有左内连接、右内连接(测试了下,报错,说明不存在这些)

创建一张student表

create table STUDENT

(

ID NUMBER(5),

NAME VARCHAR2(20),

CLAZZID NUMBER(5)

)

插入一些记录

test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20130610230109765&refer=http%3A%2F%2Fblog.csdn.net%2Fdream_broken%2Farticle%2Fdetails%2F9073233

创建一张clazz表

create table CLAZZ

(

ID NUMBER(5),

NAME VARCHAR2(50)

) 插入一些记录

test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20130610230211375&refer=http%3A%2F%2Fblog.csdn.net%2Fdream_broken%2Farticle%2Fdetails%2F9073233

要求查询学生姓名和班级名称

--常用方式,不指明连接方式,默认内连接

select s.id sid,s.name 姓名,c.id cid,c.name 班名

from student s,clazz c

where s.clazzid=c.id ;

--等价

select s.id sid,s.name 姓名,c.id cid,c.name 班名

from student s

inner join clazz c on s.clazzid=c.id ;

test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20130610225559796&refer=http%3A%2F%2Fblog.csdn.net%2Fdream_broken%2Farticle%2Fdetails%2F9073233

--左(外)连接,以左表为基表,结果集记录数等于或大于基表记录数

select s.id sid,s.name 姓名,c.id cid,c.name 班名

from student s

left outer join clazz c on s.clazzid=c.id;--或者用left outer join,结果都一样

--oracle中可用+

select s.id sid,s.name 姓名,c.id cid,c.name 班名

from student s,clazz c

where s.clazzid=c.id(+);--+号位于clazz,说明以student为基表

test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20130610225745312&refer=http%3A%2F%2Fblog.csdn.net%2Fdream_broken%2Farticle%2Fdetails%2F9073233

--右(外)连接,以右表为基表,结果集记录数等于或大于基表记录数

select s.id sid,s.name 姓名,c.id cid,c.name 班名

from student s

right join clazz c on s.clazzid=c.id;----或者用right outer join,结果都一样

--oracle中可用+

select s.id sid,s.name 姓名,c.id cid,c.name 班名

from student s,clazz c

where s.clazzid(+)=c.id;--+号位于student,说明以clazz为基表

test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20130610225927859&refer=http%3A%2F%2Fblog.csdn.net%2Fdream_broken%2Farticle%2Fdetails%2F9073233

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值