Sql 选择计数为0的条目

Sql 选择计数为0的条目,sql,join,count,Sql,Join,Count,抱歉,如果这是一个愚蠢的问题,但我有两个表用于酒店系统数据库,“Rooms”表和“Guests”表 Rooms表有一个room_number列,用于该房间的编号(主键)。 Guests表中有一个room_number列,用于记录客人入住的房间号(外键) 我需要一个只返回没有客人入住的房间的房间号的查询 目前,我有以下几点: SELECT Rooms.room_number, COUNT(Guests.guest_id) AS occupant_count From Rooms,Guests

抱歉,如果这是一个愚蠢的问题,但我有两个表用于酒店系统数据库,“Rooms”表和“Guests”表

Rooms表有一个room_number列,用于该房间的编号(主键)。 Guests表中有一个room_number列,用于记录客人入住的房间号(外键)

我需要一个只返回没有客人入住的房间的房间号的查询

目前,我有以下几点:

SELECT Rooms.room_number, COUNT(Guests.guest_id) AS occupant_count 
From Rooms,Guests 
WHERE (Rooms.room_number = Guests.room_number)
这将返回所有乘员计数。我怎样才能让它只返回没有客人的房间的房间号


提前感谢您的帮助

在两个表之间进行外部联接,并在查询末尾添加
和Guests.room\u number为null

这不是愚蠢的,而是琐碎的

SELECT Rooms.room_number 
From Rooms 
WHERE Rooms.room_number not in ( select Guests.room_number 
                                 from Guests)

您的
分组依据
子句在哪里?添加
groupby
,然后添加
HAVING COUNT(Guests.guest_id)=0
,您就完成了。是的,这很简单而不是愚蠢。而且我认为,因为问他不知道的事情而降低o/p值是不公平的(投票结果回到零)!非常感谢!我对简单的SQL基本上没有问题,显然我需要更多的练习使用GROUPBY子句,以及其他一些东西。谢谢!这就成功了!