MySQL 报错: Subquery returns more than 1 row

在做“少于等于3个人的部门信息”这道题时,我用如下语句:

select * from dept where deptno= (select deptno from emp group by deptno having count(*)<=3);

会产生如下错误:

Subquery returns more than 1 row

上网查阅资料才知道,子查询的查询结果应只有一行

我们可以将语句改为如下模式:

select name from tabel1 where id = any(select id from tabel2)

所以该题语句改为如下语句:

select * from dept where deptno=any(select deptno from emp group by deptno having count(*)<=3); 

这样就不会报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值