ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-11-03 22:01:49  阅读:144  来源: 互联网

标签:5.4 no employees 查询 EXIST emp SQL WHERE SELECT


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需要给定要监督的具体列名)

标签:5.4,no,employees,查询,EXIST,emp,SQL,WHERE,SELECT
来源: https://www.cnblogs.com/allenm/p/15505908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有