全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 433|回复: 5
打印 上一主题 下一主题

请教一个mysql查询的问题,有没有 “除……之外” 的写法?

[复制链接]
跳转到指定楼层
1#
发表于 2022-5-21 20:36:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gdtv 于 2022-5-21 20:46 编辑

有点复杂,不知能不能表达清楚。

我有一个查询条件(语句):
  1. condition = " field1>0 and field2>0 and field3>0 "
复制代码

这一条语句不能动,我想查询满足以上条件之外的所有结果,该怎么写呢?

有没有类似的语句:
  1. selec t * from xxx where not ( condition )
复制代码

这样的写法?

当然可以改写成这样:
  1. selec t * from xxx where  field1<=0 or field2<=0 or field3<=0
复制代码

这样可以获得正确的结果。
但是如果我想不变动 condition 这一个语句,有办法吗?

也不想用这种方法:
  1. selec t * from xxx where id not in ( selec t id from xxx where condition  )
复制代码


--------------------------

更新:好像就是 not ( condition ) 这样写就可以了
2#
发表于 2022-5-21 20:37:01 | 只看该作者
我没有办法
3#
发表于 2022-5-21 20:52:28 | 只看该作者
好像就是 not ( condition ) 这样写就可以了

测试了,确实可以这样写。
4#
发表于 2022-5-21 20:57:49 | 只看该作者
印象深刻 not  null
5#
 楼主| 发表于 2022-5-21 21:06:16 | 只看该作者
zxxx 发表于 2022-5-21 20:52
测试了,确实可以这样写。

嗯,谢谢大佬
6#
发表于 2022-5-21 21:08:20 来自手机 | 只看该作者
not exist 比not in好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-20 06:46 , Processed in 0.069562 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表