1
我有3個oracle表。 A加入到B和B加入到C.我想從在B或C.是否存在相應的記錄中的irerspective所有記錄我寫了這樣的查詢:oracle外連接查詢
select a.name from a,b,c where a.a_id = b.b_id(+) and b.b_id = c.c_id(+)
這個查詢看起來不正確我特別是第二次加入。如果在A中有記錄,但在B和C中沒有相應記錄,那麼究竟會發生什麼?它仍會獲取記錄嗎?
由於某種原因,上述查詢返回的記錄數爲select a.name from a
所以我猜測查詢是正確的?還有沒有更好的方法來重寫查詢?
的一個行會,無論返回是否有匹配ID的任何行在b或c中。現在會發生什麼,如果id爲1有一行,一行和一行沒有? b.b_id是空的...所以...嘗試一下。 – joshp
謝謝。如果對於a中的id 1,沒有b行,那麼如何有一個c行? c與a沒有直接關係?你能解釋一下嗎? – Victor
你明白了。由於沒有b行,因此b.b_id爲null,即使存在c行,也不會檢索它。考慮一下,當你正在寫這種連接。 – joshp