1
我瞭解連接和需要以下問題有所幫助:不知道我的SQL JOIN將返回正確設置爲我的任務
顯示在BOOKS表中的所有書籍的列表。如果客戶訂購的書籍爲 ,則還列出訂單號碼並指明 客戶所在的國家/地區。
這就是我所能做的。 Oracle 11g。
SELECT B.TITLE, O.ORDER#, C.STATE FROM BOOKS B
LEFT OUTER JOIN ORDERITEMS OI ON B.ISBN = OI.ISBN
LEFT OUTER JOIN ORDERS O ON O.ORDER# = OI.ORDER#
LEFT OUTER JOIN CUSTOMERS C ON C.CUSTOMER# = O.CUSTOMER#;
這個查詢給了我35行的結果。我的BOOKS表只有14行。我的ORDERITEMS表有32行。我假設3個額外的行是從未訂購的書籍?我甚至有意義嗎?我在想,因爲書桌只有14行,那麼這就是我應該回來的?我不認爲這是可能的,因爲同一本書存在多個訂單。
您的查詢和解釋似乎是正確的。你有什麼問題? – Andomar
也許3個額外的行是由多個客戶訂購的書籍。 '命令由BTITLE'看到他們堆疊在一起。您的查詢看起來對我來說正確。 –
是的,我期望看到每行訂單,額外的行從未訂購的書籍。我認爲你的查詢是正確的。這個問題並沒有真正解決如何處理同一本書的多個訂單。 – Blorgbeard