两条sql语句

之前提数的时候发现有个问题,两条看起来类似的SQL却返回截然不同的结果,因为急着得出结果,也就没有深究其中的原因,只是匆匆记下来,现在回头看这两条SQL,终于明白为什么取出来的数据会不一样了:如果使用不等于,那么取出来的有467万多的数据,而使用exists则返回近25万的数据:
两条sql语句_第1张图片
一般情况下我们想要实现的是下面这种,意思是取不存在于表prod_nt中的数据,而如果写成上面的语句则会取出所有的数据,很明显因为上面只要判断到prod_id <> serv_id那么则认为该条数据是符合要求的,然而实际并非我们想要的。

你可能感兴趣的:(oracle,sql,数据库)