4 回答

临摹微笑
select * from a,b
where a.id=b.id(+)
这里的意思就是a,b表连接,a表先全部展示,然后b表id和a表一致的就连接上,没有的就补些空格在后边。

交互式爱情
这个表示左连接,或者右连接的意思,简单的解释:
表结构如下
id name job
01 jack cleck
02 owen
03 awer work
上述结构中owen名称对应JOB列无内容,如果想要查处一方有数据另一方没有数据就用到连接了。

繁花不似锦
oracle特有的左外联书写方式,当然你也可以用传统的通用的左外联,比如给你举个例子
SELECT s.name AS 姓名,g.grade AS 分数,c.cid AS 课程名
FROM tbl_student s LEFT OUTER JOIN tbl_grade g ON s.StudentId=g.sid LEFT OUTER JOIN tbl_class c ON g.cid=c.ClassId
它跟下面等价
SELECT s.name AS 姓名,g.grade AS 分数,c.classname AS 课程名
FROM tbl_student s,tbl_grade g,tbl_class c
WHERE (s.StudentId=g.sid(+)) AND (g.cid=c.ClassId(+))
相关问题推荐
添加回答
举报
0/150
提交
取消