【发布时间】:2020-08-22 21:37:29
【问题描述】:
我遇到了这个练习:
以下表格构成关系 DBMS 中保存的数据库的一部分:
- 酒店(hotelNo、hotelName、hotelAddress)
- 房间(roomNo、hotelNo、类型、价格)
- 预订(hotelNo、guestNo、dateFrom、dateTo、roomNo)
- 来宾(guestNo、guestName、guestAddress)
任务:
- 列出“绿宫”酒店所有客房的价格和房型。
- 列出目前入住“绿宫”酒店的所有客人。
- 列出“绿宫”酒店所有客房的详细信息,包括入住该客房的客人姓名(如果该客房有人入住)。
- 今天预订“绿宫”酒店的总收入是多少?
- 列出“绿宫”酒店目前空置的房间。
- “绿宫”酒店空置房间造成的收入损失是多少?
练习表明我应该使用子查询或连接方法。
我只能回答第一个问题
SELECT price, type
FROM room
WHERE hotelNo = (SELECT hotelNo
FROM hotel
WHERE hotelName = "Green Palace")
其他问题涉及一个语句中的多个子查询(我不知道该怎么做),我不了解子查询和联接之间的区别。 我该如何回答其他问题?
【问题讨论】:
-
我认为你必须使用 JOIN 而不是子查询。所以试试:SELECT price, type FROM room r JOIN hotel h on h.hotelNo = r.hotelNo WHERE h.hotelName = "Green Palace"
-
您好,如果是这种情况,您可能是参加 CSC 226 的 NDU 学生,我找到了博士可能从中获得的练习及其解决方案。 javaguicodexample.com/mysqldatabasequerynetbeansex.html不要忘记更改酒店名称。 :)
标签: sql