not in子查询的用法

not in()  本质是 or   datavar not in ( 查询条件   ,null )  相当于  not ( datavar = 查询条件 or datavar =null)

如果datavar = 查询条件  为 false   那么  not  null 返回false;

如果datavar  = 查询条件 为 true  那么返回 true ; 只要有null值都 返回false且查不出数据

SQL语句的执行顺序  select Distinct <Top_sepicitioin> <select_list> from left_table <join_type> join right_table ON <on_condiction> where <where_condiction>  Group by <group_by_condiction> with {CUGB|ROLLUP}   having <having_condiction> order by <order by_list>   

ON  where Group by having  都可以看做是筛选器  筛选器可以看做是生成另外的表  

猜你喜欢

转载自632928374.iteye.com/blog/2279227