A)
Select HotelID, HotelName, ParkingSpaces, cityID
from hotels as xyz
where ParkingSpaces > (Select avg(ParkingSpaces)
from Hotels
where cityID = xyz.cityID);
b)中
select HotelName, ParkingSpaces, cityid
from Hotels
where ParkingSpaces > (Select avg(ParkingSpaces)
from Hotels);
答案 0 :(得分:2)
第一个查询在外部查询和子查询之间进行关联,并返回超过该城市平均停车位数的酒店的详细信息。
第二个查询没有这样的相关性,并返回超过平均停车位数的酒店的详细信息,无论是哪个城市。
答案 1 :(得分:1)
两个查询都在选择(略有不同)有关超过平均停车位数的酒店的信息。
首先是检查同一城市的酒店平均停车位数。奇怪的事实是,如果有一个城市有一个酒店记录,该酒店将不会被列出。它使用相关的子查询,这就是表别名xyz
(FROM Hotels AS xyz
)和使用它的子查询中的连接条件的原因。
第二是检查所有已知酒店的平均停车位数,无论是哪个城市。