mysql如何查询不在数据库里的数据?

新手上路,请多包涵

表:hkhe_re
字段:mobile

请问,我想查询下列哪些手机号不在表里,该如何写sql?
13112345678
13112345677
13112345676
13112345675
13112345674

阅读 4.5k
3 个回答

将你列出的那些手机号放在一个表内,自定义表名,比如tel,有id和telnum两列,其中telnum为电话号码,则sql语句如下
select telnum from tel where temnum not in(select mobile from hkhe_re)

将定义结果集作为表

select *
from (select '13112345678' tel
      union
      select '13112345677' tel
      union
      select '13112345676' tel
      union
      select '13112345675' tel
      union
      select '15888888888' tel) as temp_tel
where NOT EXISTS(select null from hkhe_re where hkhe_re.mobile = temp_tel.tel)

ps:
mysql可以创建临时表 https://www.runoob.com/mysql/...

一种比较简单的思路是查找这些手机号哪些是在表里的,去掉这些剩下的就是你想要找的手机号。这样做的话sql写起来比较简单,然后自己用代码写个循环把在表里的去掉就行了。找出在表里的sql就是如下:

select mobile from hkhe_re where mobile in (xxxx,xxxx)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏