sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。...

本文解释了SQL子查询中常见的SQLEXCEPTION错误:当没有使用EXISTS引入子查询时,在选择列表中只能指定一个表达式的原因及解决方案。通过示例对比,清晰地展示了如何修正子查询返回多个字段值的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

原因:子查询的返回值不是一个字段的值(特别说明:子查询的返回值的个数可以是多个的,但必须是一个字段的),也就是子查询返回的值是多个字段的值的集合,由于子查询和外面查询要的不匹配,所以报出这个错误。

例如:

use pubs;

go;

/*错误的*/

select top 8 * from authors where  au_id not in (select top 8 * from authors order by au_id) order by au_id ;

/*正确的*/

select top 8 * from authors where  au_id not in (select top 8 au_id from authors order by au_id) order by au_id ;

 我相信很明白了,如有不清楚的可以留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值