SQL应该使用子查询吗?

时间:2018-04-22 22:12:05

标签: sql oracle

我在学校的课程问题上需要帮助。所以我应该得到两张表Seller& Item,我需要根据提供的大多数商品退回最活跃的卖家。我将表格作为下面的链接。

Item Table

Seller Table

我如何只与卖家ID#Name一起返回一条记录?我需要做一个子查询吗?非常感谢你提前。

1 个答案:

答案 0 :(得分:1)

实际上,这是通过子查询实现它的一种方法。我不知道任何老师都会期望学生使用>= all

select s.sellerid, min(s.name) as name
from seller s inner join item i on i.sellerid = s.sellerid
group by s.sellerid
having count(*) >= all (
    select count(*)
    from item
    group by sellerid
)

你也可以双重执行=嵌套,甚至不需要别名!

select * from seller where sellerid in
(
    select sellerid from item group by sellerid
    having count(*) >= all (select count(*) from item group by sellerid)
)