Book
(出价,价格)没有两本书的价格相同。
SELECT bid
FROM Book t1
WHERE (SELECT count(*)
FROM Book t2
WHERE t1.price > t2.price) < 3
请通过上述查询的一些示例和结果简要说明执行情况。
答案 0 :(得分:0)
对于表Book
中的每本书,WHERE
子句中的相关子查询计算Book
中价格严格较低的图书数量。如果该计数小于3,则选择该书。
基本上,查询的答案是:选择最多存在两本价格较低的书籍的所有书籍。
这可以写得更简单如下(鉴于任何一本书都没有两个价格相同):
SQL Server:
SELECT TOP 3 bid FROM book ORDER BY price ASC;
ANSI / ISO SQL:2008
SELECT bid FROM book ORDER BY price ASC
FETCH FIRST 3 ROWS ONLY