我在Oracle數據庫的兩個表(fruit_cost和fruit_availability),詳情如下:
fruit_cost看起來像這樣:
fruit_name | fruit_cost
apple | 30
orange | 7
melon | 14
fruit_availability看起來像這樣:
fruit_name | fruit_availability
表是空的
有沒有什麼好的選項來獲得這樣的結果:
fruit_name | fruit_cost | fruit_availability
apple | 30 | null
orange | 7 | null
melon | 14 | null甲骨文從兩個表中選擇數據,如果一個是空返空
2
A
回答
7
您可以使用LEFT JOIN
加入表格。
A LEFT JOIN
將返回fruit_cost
表中的所有記錄,無論fruit_availability
表中是否存在匹配的記錄。您的查詢將是這樣的:
select fc.fruit_name,
fc.fruit_cost,
fa.fruit_availability
from fruit_cost fc
left join fruit_availability fa
on fc.fruit_name = fa.fruit_name
結果是:
| FRUIT_NAME | FRUIT_COST | FRUIT_AVAILABILITY |
------------------------------------------------
| melon | 14 | (null) |
| orange | 7 | (null) |
| apple | 30 | (null) |
如果您需要幫助學習聯接語法這裏是一個偉大的visual explanation of joins。
0
select c.fruit_name, c.fruit_cost, a.fruit_availability
from fruit_cost c
left outer join on fruit_availability a on
c.fruit_name = a.fruit_name
order by c.fruit_name
+0
select c.fruit_name,c.fruit_cost,a.fruit_availability from fruit_cost c left outer join fruit_availability a on c.fruit_name = a.fruit_name order by c.fruit_name – constantine
2
甲骨文語法:
select *
from fruit_cost fc, fruit_availability fa
where fc.fruit_name = fa.fruit_name (+);
SQL小提琴here。
+0
最佳和最短結果4我的解決方案。謝謝! – constantine
相關問題
- 1. 甲骨文選擇最多的ID從表返回空值
- 2. 甲骨文從兩個表
- 3. 甲骨文空間數據
- 4. 甲骨文像從另一個表中選擇
- 5. 甲骨文:從表中選擇(1; 2)
- 6. 甲骨文選擇表名與結果
- 7. 如何從甲骨文(優化方法)選擇不空值
- 8. 甲骨文先空
- 9. PostgreSQL從兩個表中選擇空值
- 10. 返回一個空數組如果數據庫是空
- 11. 甲骨文:選擇從選擇
- 12. 甲骨文選擇 - 多個參數一個欄
- 13. 從一個表將數據複製到甲骨文另一人
- 14. 甲骨文在同一個表中沒有重複兩次選擇
- 15. 從多個表中選擇返回空結果
- 16. 甲骨文更新多個空間在一列用一個空格
- 17. 消除空值 - 甲骨文
- 18. 甲骨文SELECT XMLELEMENT與空
- 19. 甲骨文 - 與空警告
- 20. 甲骨文左外有兩個表
- 21. 甲骨文:將兩個表不同列
- 22. 空VS在甲骨文空字符串
- 23. 甲骨文 - 從一組選擇最多,如果設置爲空,然後從另一組
- 24. 甲骨文 - 返回多個表
- 25. 甲骨文加入表爲空
- 26. 甲骨文合併兩行成一個
- 27. 甲骨文:在一個表中
- 28. 一個選擇與NULL兩個表,而不是空
- 29. 選擇列,如果空白從另一個選擇
- 30. 甲骨文:從視圖中選擇,但如果從目標表子句值
這一個也是正確的。謝謝! – constantine
@constantine,而其他答案中的語法僅對oracle有效,Oracle建議您使用'OUTER JOIN'語法而不是連接運算符。這是一個問題解釋 - http://stackoverflow.com/questions/1193654/difference-between-oracles-plus-notation-and-ansi-join-notation – Taryn
感謝您的解釋,他們是非常有幫助的。 – constantine