簡體   English   中英

從一個表中選擇列,在另一個表中為NULL

[英]Select column from one table, where it is NULL in another

我試圖列出一個表中的數據,而另一個表中的等效數據尚未輸入。 有點羅to的解釋,但我要做的正是以下內容:

我真的很想嘗試在房間中不存在的地方提取數據,感謝您的幫助。

謝謝!

E:

SELECT
    COUNT(a.x) AS p,
    COUNT(a.x) AS q,
FROM 
    x
LEFT JOIN b ON a.x= b.x
WHERE b.xis NULL;
select h.*
from hotel as h
left join room as r
on h.number = r.hotelnumber
where r.hotelnumber is null

盡管Santhosh發布了一個很好的解決方案,但我還是想宣傳EXISITS,因為它更加慣用了。 該查詢應閱讀新開發者的內容,例如描述您要執行的操作的句子(如果可能)。

而且oracle優化程序似乎可以在大型查詢中與EXISTS很好地配合使用(我無法列舉確切的信息源,僅從Asktom或類似站點上的許多查詢中,EXISTS似乎在許多情況下都可以優化,在這種情況下,大型查詢中相似的語句可能會失敗。 ..)

SELECT * FROM hotel h
WHERE NOT EXISTS
( SELECT * FROM room r
  WHERE r.hotelnumber = h.number
)

閱讀:給我所有酒店,沒有房間的酒店號。 ->給我所有沒有房間的酒店。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM