来考考大佬们MYSQL的知识

搬瓦工机场JMS

出题:

mysql中有很多QQ号,我要查询我whrere条件中若干个QQ号在数据库里不存在的查询数据而非数据库数据

举个例子:
数据库里面有1,2,3,4
我要查询88,11在数据库中有没有,如果没有存在,那应该返回88,11给我

这个应该如何写SQL呢?
重庆网友:这个为啥要在MySQL完成呢 代码完成不是很简单吗
西藏网友:IFNULL()
陕西网友:像这种复杂点的问题,个人觉得写个存储过程或者存储函数会比较有效率点。

台湾网友:你可真是求助天才
台湾网友:查in 返回null 呗
福建网友:大佬套路深啊
山西网友:请大佬给个例子
黑龙江网友:ifnull中定义的值如何从语句后面的in中选择呢?
重庆网友:数据量非常大,不方便处理。
广西网友:数据量非常大,不方便处理。
新疆网友:因为我有很多种数据做一次性查询,那后面的返回值我如何定义呀?
澳门网友:不是上纲上线;要么就虚心问,要么就掏钱找大佬,你这是哪一出
重庆网友:

  1. SELECT * FROM (SELECT 88 AS qqhao UNION SELECT 11 AS qqhao ) stb WHERE stb.qqhao NOT IN (SELECT qqhao FROM qqtable)

复制代码
注:
1) qqtable: 是你存储qq号的数据表名字
2) qqhao:是1)数据库表存QQ号码的字段名字;

谢谢大佬 教我如何套路

上面是对应 小数据量,88,11 待查询号码数量比较少的情况

如果要比较的号码个数多,就用这些待查询号码 插入 新建个临时的数据库表。把新建的这个表数据和 原来存储的表 进行比较,列出不存在的号码。
重庆网友:where in 的条件数据不存数据库呢?有没有方法?
重庆网友:作业自己做

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » 来考考大佬们MYSQL的知识

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏