为了账号安全,请及时绑定邮箱和手机立即绑定

感觉union用的有点多,不知道会不会影响效率。一点美感都没有,请教大神们有没有别的写法?

感觉union用的有点多,不知道会不会影响效率。一点美感都没有,请教大神们有没有别的写法?

萧十郎 2022-09-16 22:11:34

已知serviceType在1,2,3三个数字之间,我想知道deptId=1的时候,servicetype中没有出现在1,2,3的数字。一番波折后写出这样的语句:
select 1 union select 2 union select 3 EXCEPT SELECT serviceType FROM request WHERE deptId = 1;

查看完整描述

2 回答

?
倚天杖

TA贡献1488条经验 获得超3个赞

可以用not in或者not exist关键字,如果都是整型的值也可以这样
select serviceType from request where deptId=1 and ( serviceType > 3 or serviceType < 0 )

查看完整回答
反对 回复 2022-09-21
?
holdtom

TA贡献1490条经验 获得超10个赞

where deptId=1 and servicetype not in(1,2,3)


查看完整回答
反对 回复 2022-09-21

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信