选择count = 0的条目

时间:2013-03-17 21:35:28

标签: sql join count

很抱歉,如果这是一个愚蠢的问题,但我有一个酒店系统数据库的2个表,“房间”表和“客人”表。

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)

返回所有占用人数。我怎样才能让它只返回没有客人的房间号码?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

在两个表之间进行外部联接,并将AND Guests.room_number is null添加到查询的末尾。

答案 1 :(得分:1)

这是微不足道而不是愚蠢。

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