繁体   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