有一个Oracle中的SQL查询语句的问题
发布网友
发布时间:2022-04-13 23:31
我来回答
共3个回答
热心网友
时间:2022-04-14 01:01
双表查询:
简单说了
仔细的说如下(也是简单,还是你学学吧)
select A.CD,B.ID from A,B
用select 先选择a表的cd字段 b表的ID做为,两个表的查询依据,查出两个表中所有CD,ID 两个字段的内容
那个from后面的a,b指的要查的表。后面一句where a.cd=b.cd(+)ad...是条件,也就是说符合a表.cd标准的b表中的id字值和cd字同时为11的列表值。
在意如此。
总的来说,是查一个固定ID排序值,其中B.ID(+)=11不是结果,B.CD(+) AND
B.ID(+) = 11
加起来满足a.cd才是结果。而这里的b.id(+)=11是指定查询,(这里是独立理解,因为你这句中还有一个条件为B.CD(+) 其它他和B.ID(+) 意思一样如果这样写
A.CD = B.ID(+)ANDB.CD(+)
= 11是一样的,之后一个等号后面的是*范围。(语文没学好,不会表达,不好意思,如果看到我这句之后感觉更迷湖了,就拿刀砍我吧)
热心网友
时间:2022-04-14 02:19
在 ORACLE 中, + 表示 半连接,+在=左边,表示左连接,+在=右边表示右连接。
A.CD = B.CD(+) AND B.ID(+) = 11
上面这个意思是 :
(A.CD = B.CD or B.CD IS NULL) AND (B.ID = 11 or B.ID IS NULL)
热心网友
时间:2022-04-14 03:53
不太明白,请教高人了