mysql - 请解释这两个查询的区别以及它们在做什么

标签 mysql sql select

一)

 Select HotelID, HotelName, ParkingSpaces, cityID
 from hotels as xyz
 where ParkingSpaces > (Select avg(ParkingSpaces)
                        from Hotels
                        where cityID = xyz.cityID);

二)

 select HotelName, ParkingSpaces, cityid
 from Hotels
 where ParkingSpaces > (Select avg(ParkingSpaces)
                        from Hotels);

最佳答案

第一个查询将外部查询和子查询关联起来,返回该城市 parking 位数量超过平均水平的酒店的详细信息。

第二个查询没有这种关联,返回的是 parking 位超过平均数的酒店的详细信息,与城市无关。

关于mysql - 请解释这两个查询的区别以及它们在做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698910/

相关文章:

mysql - 加入 View 后查询性能缓慢

java - Android - 如何通知用户数据库中的一行已更新

sql - (REDSHIFT) 垂直合并/FIRST_VALUE() 作为聚合

PHP 为 Smarty 选择

java - 如何在 cellchange 上执行 JTable 选择所有文本

php - 将用户数据存储在 csv 文件与数据库中

php - 从 MySQL 到 PHP 页面选择数据

sql - 按 PostgresQL 分组

sql - 如何访问 Rails3 中的连接表属性?

mysql - sql——选择和更新