当前位置: 首页 > wzjs >正文

建筑建设规范网站百度seo一本通

建筑建设规范网站,百度seo一本通,dede移动端网站源码,深圳定制衣柜价格目录 1.IN与EXISTS EXISTS用法总结 2.NOT IN与NOT EXISTS 3.not in 中 null的用法 4.EXISTS和IN的区别 (面试常问) 1.IN与EXISTS 示例:在 DEPT 表中找出在 EMP 表中存在的部门编号; 方法一:使用in select DEPTNO from DEPT where D…

目录

1.IN与EXISTS

EXISTS用法总结 

2.NOT IN与NOT EXISTS 

3.not in 中 null的用法

4.EXISTS和IN的区别 (面试常问)


1.IN与EXISTS

示例:在 DEPT 表中找出在 EMP 表中存在的部门编号;

方法一:使用in

select DEPTNO
from DEPT
where DEPTNO in (select distinct DEPTNO from EMP);

方法二:使用exists

select DEPTNO
from DEPT d
where exists(select 1 from EMP e where d.DEPTNO = e.DEPTNO);

上面两种方法结果都是一样的: 

IN和EXISTS的区别:IN是将子查询的内容拿到select里面,EXISTS是将值带入子查询

exists要求返回的是一个布尔类型true/false

SELECT deptno FROM emp e WHERE e.deptno=40  --false
SELECT deptno FROM emp e WHERE e.deptno=30  --true
SELECT deptno FROM emp e WHERE e.deptno=20  --true
SELECT deptno FROM emp e WHERE e.deptno=10  --true1=1 --true
1=2 --false

EXISTS用法总结 

  1. EXISTS基本都是放在 WHERE 后面作为过滤条件使用;
  2. EXISTS括号里面 SELECT 对应的值无意义,SELECT 任何值都可以;
  3. EXISTS后面可以接其它条件; 

2.NOT IN与NOT EXISTS 

示例:在 DEPT 表中找出在 EMP 表中不存在的部门编号 

-- not in
select DEPTNO
from DEPT
where DEPTNO not in (select DEPTNO from EMP group by DEPTNO);-- not exists
select DEPTNO
from DEPT d
where not exists(select 1 from EMP e where d.DEPTNO = e.DEPTNO);

比较下面两个表: 

CREATE TABLE t2(ID NUMBER);
CREATE TABLE t1(ID NUMBER);INSERT INTO t2 VALUES(1);
INSERT INTO t2 VALUES(NULL);
INSERT INTO t1 VALUES(1);
INSERT INTO t1 VALUES(2);
INSERT INTO t1 VALUES(NULL);SELECT * FROM t1;
SELECT * FROM t2;

                 

--从t1找到t2有的值 in
select ID from t1 where ID in (select ID from t2);
-- 1--从t1找到t2有的值 exists
select ID from t1 where exists (select ID from t2 where t2.ID = t1.ID);
-- 1--从t1找到t2没有的值 not in
select * from T1 where ID not in (select id from T2);
-- 没有返回值--从t1找到t2没有的值 not exists
select ID from T1 where not exists(select ID from t2 where t2.ID = t1.ID);
-- null
-- 2

为什么上面使用not in的时候没有结果,而使用not exists的时候有结果呢?

3.not in 中 null的用法

        NULL在SQL中被视为一种特殊值,它既不等于任何值,也不不等于任何值,包括它自己。

        这意味着,当比较任何值与NULL时,结果都不是TRUE,这样的比较总是未知(NULL)

结论:

        NOT IN 子查询返回NULL,那么整个NOT IN表达式的结果将是NULL

        NOT EXISTS 不会因为子查询返回NULL而影响结果,它只关心子查询是否有结果返回。

        当子查询返回的结果是null时,表示false,前面再加上not exists,双重否定表示肯定,就是true,因此null被成功返回。

场景EXISTS结果NOT EXISTS结果
子查询返回至少一行TRUEFALSE
子查询返回空集FALSETRUE
--从t1找到t2有的值 exists
select ID from t1 where exists (select ID from t2 where t2.ID = t1.ID);
-- 1
  • 对于t1.ID = 1,子查询找到t2.ID = 1,返回1,因此t1的第一行被选中。
  • 对于t1.ID = 2,子查询未找到匹配,返回空,因此t1的第二行被过滤。
  • 对于t1.ID = NULL,子查询中的t2.ID = NULL永远为UNKNOWN,子查询返回空,因此t1的第三行被过滤。并且返回null也表示false,exists不会返回,exists只会返回子查询结果为true的

4.EXISTS和IN的区别 (面试常问)

IN 是内表驱动外表,适合 内表 比 外表 数据量小的情况

EXISTS 是外表驱动内表, 适合 内表 比 外表 数据量大的情况


文章转载自:

http://xRyEsIud.yybqf.cn
http://z0lzBPSP.yybqf.cn
http://DqJsouSn.yybqf.cn
http://hdLm7Ebi.yybqf.cn
http://MlkR8dNE.yybqf.cn
http://PcOoZ8q8.yybqf.cn
http://EVKueHrD.yybqf.cn
http://oJyhtrmO.yybqf.cn
http://U0fhuKbH.yybqf.cn
http://4qahZGvW.yybqf.cn
http://ruo2VISe.yybqf.cn
http://VodCr14O.yybqf.cn
http://0QlJDXCv.yybqf.cn
http://lmha0Sa0.yybqf.cn
http://pVtDsLJ8.yybqf.cn
http://FZMrAljh.yybqf.cn
http://xpC9dAra.yybqf.cn
http://g6H4RbJD.yybqf.cn
http://Qu6XK4YF.yybqf.cn
http://7pGmrhmW.yybqf.cn
http://J924tacl.yybqf.cn
http://RD9MYwFt.yybqf.cn
http://NQSyh9ah.yybqf.cn
http://t2AtuVjW.yybqf.cn
http://tNS6YawS.yybqf.cn
http://bBcxGiN1.yybqf.cn
http://jm6HyMaS.yybqf.cn
http://vvshyHVK.yybqf.cn
http://eDTFdQMO.yybqf.cn
http://QbmaiaHc.yybqf.cn
http://www.dtcms.com/wzjs/641268.html

相关文章:

  • 做集团网站的深圳公司官网设计
  • 包头 网站制作上网建站
  • 团队做网站的收获儿童摄影网站设计
  • 如何建立一个网站详细步骤广州做餐饮的招聘网站
  • 公司网站的后台别墅效果图网站
  • 网站设计什么价位家纺 网站建设 中企动力
  • 常州商城网站建设承德名城建设集团网站
  • 思明自助建站软件wordpress 分类 seo
  • 中小企业网站建设资讯做邮轮的网站
  • wordpress移动到回收站时发生错误.成都私人网站制作公司
  • 生物网站模板中国建设工程造价管理协会
  • 番禺网站建设哪里有网站的建设维护
  • 公司网站界面设计哈尔滨网络推广优化
  • 什么是网站结构营销型网站建设的价格
  • 北京做网站推广兼职河南seo网站策划
  • 蚌埠网站制作公司价格网站建设价格女
  • 制作网站建网站定制开发电商网站建设
  • 表白网站生成器wordpress分类目录 模版
  • 太原网站建设技术托管安卓5 wordpress
  • 国外网站不需要备案吗企业网站空间选择
  • 同仁网站建设公司5免费网站建站
  • 一个公司做两个网站的好处高端网站建设 案例
  • 凡科手机网站建设开发wordpress首页缩略图插件
  • 黄山网站建设策划免费前端模板网站
  • 粘土做龙网站视频银川森林半岛
  • 重庆推广网站排名四川seo选哪家
  • 医药网站建设中图片赣州做网站的公司哪家好
  • 网站以个人名义备案牛牛网站建设
  • 律师网站素材网站建设经费方案
  • asp.net网站开发视频wordpress标签加入文章列表