Java教程

SQL学习5.4- EXIST和IN 的使用场景

本文主要是介绍SQL学习5.4- EXIST和IN 的使用场景,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

EXIST:

1.当从表比主表大时,EXISTS查询的效率较高

2.exists是先从主查询中取得一条数据,再代入到子查询中,执行一次子查询,判断子查询是否能返回结果,主查询有多少条数据,子查询就要执行多少次

例如:

     SELECT *
     FROM employees
     WHERE NOT EXISTS (SELECT emp_no
                 FROM dept_emp
                 WHERE employees.emp_no = dept_emp.emp_no);

(exist不需要给定要监督的具体列)

IN:

1.当主表比从表大时,IN查询的效率较高

2. in是先执行子查询,得到一个结果集,将结果集代入外层谓词条件执行主查询,子查询只需要执行一次

例如:

   SELECT *
   FROM employees
   WHERE emp_no NOT IN (SELECT emp_no
                    FROM dept_emp);

(in需要给定要监督的具体列名)

这篇关于SQL学习5.4- EXIST和IN 的使用场景的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!