Heim >Datenbank >MySQL-Tutorial >Oracle中的not in 用法笔记

Oracle中的not in 用法笔记

WBOY
WBOYOriginal
2016-06-07 17:21:433213Durchsuche

今天一个特别诡异,特别蛋疼的问题纠结了好久,不得不写这篇文章了。 select * from wlbtest3 where (sname, sage) not in (s

今天一个特别诡异,特别蛋疼的问题纠结了好久,不得不写这篇文章了。

大家觉得上边两句效果一样吗?

你是认为一样你就错了!!!我开始也认为是一样。工作时用到了这个,但数据总是不和逻辑。

最后终于让我找到这个地方了:

  • select * from wlbtest3 
  • where (sname, sage) not in (select user_name,''  from wlbtest4) 
  • 上边一句是什么意思呢?不用猜了!!!

    他的意思是匹配sname,,但不匹配sage,和下边的效果一样。

  • select * from wlbtest3 
  • where (sname) not in (select user_name from wlbtest4) 
  • 所以当user_age的值为空时,就会产生意想不到的问题。。。所以建议用“||”方式。

    linux

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn