gtbt.net
当前位置:首页 >> sElECt 1 From B >>

sElECt 1 From B

就是表示数字1 select a, b from tb t1 where not exists(select 1 from tb t2 where t2.a=t1.b ) select 1 from tb t2 where t2.a=t1.b 这一句表示如果存在一条记录t2.a=t1.b则返回1.否则,返回为空(null)

exists 表示存在的意思。 这个语句用in的话就是【update table11 a set a.name1 = (select b.name2 from table22 b where a.id1 = b.id2) where a.id1 in (select b.id2 from table22 b );】 oracle为了提高效率,尽量都用exists,至于select1和...

选的表不同,你的例子,第一个是从b表选a.c=b.c的数据,第二个是从a表眩就好像a有3个c=1,b有1个c=1,你说从不同表选c=1结果一样不?就这意思。 其实你的:select * from b where exists (select 1 from a where a.c=b.c) 等价于:select * from ...

就是机制问题。 使用exists,A表的数据只会出现一次。 使用下面的join A表的数据可能会出现多次。(在A.zrcid=B.id并且B.ID重复)

子查询中select count(1) as num from A where A.ID = B.ID 就是统计B表和A表用ID连接的行数 子查询的行数=0,就可以实现从B表中排除A表数据

a是 表的别名 id是表里面的字段名称

a,b是别名 table1的别名是a table2的别名是b

如果有查询结果,查询结果就会全部被1替代(当不需要知道结果是什么,只需要知道有没有结果的时候会这样用),可以提高语句的运行效率,在大数据量的情况下,提升效果非常明显

select sum(a)as nums into #temp from table1 where b=3

where 1 = 0这个条件是永远不成立的,所以这个select是取不到数据的,只能复制表结构

网站首页 | 网站地图
All rights reserved Powered by www.gtbt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com