输入banner图图片脚本导航/分类

SQL中IN与EXISTS关键字

IN SELECT column1 FROM table_name WHERE some_col IN (SELECT column1 FROM table_name WHERE other_col > xx); -- EXISTS SELECT column1 FROM table_name WHERE EXISTS (SELECT column1 FROM table_name WHERE other_col > xx);

  上述代码示例只是一个象征性的对比说明,在同一个表中进行不同条件的多次检索,使用IN的方式:先根据条件检索出数据,然后some_col与结果列表进行循环比较;使用EXISTS的方式:先根据条件检索出数据,然后将该结果集直接返回,作为最终的数据结果了。由此可见,IN和EXISTS子句耗时不在于SELECT检索的时间,而是在于其自身所消耗的时间。所以在IN子句中,若动态的结果集数据量比较大的话,还是建议使用EXISTS子句来替换。

SQL中IN与EXISTS关键字

标签:from   根据   column   没有   语句   tab   操作符   使用   来替