当前位置:首页 » 编程语言 » sql嵌套循环

sql嵌套循环

发布时间: 2023-08-06 19:33:30

‘壹’ sql server中 in() 嵌套问题


sqlserver嵌套查询语句中使用in或者exists的场景和原则如下:

  1. 如果查询的两个表大小相当,那么用in和exists差别不大。两者都可以使用。

  2. in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。所以当有多重循环,使用in更合适,效率越高。

  3. 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。

    NOT EXISTS,exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度。




‘贰’ SQL数据库中:分支语句和循环语句各自可以嵌套,也可以相互嵌套。这个

可以多个嵌套,但是只要一个条件不满足结果都查询不到,你把语句写出来看下
Update
Table
Set
a='5'
Where
b=
(Select
b
From
Table
Where
c
In
(Select
c
From
Dmpedi.Pps_Temp
Where
b
=
'2'
And
Rownum
<
5)
And
Rownum
=
1)

‘叁’ SQL Server 游标嵌套

是可以嵌套的,原理如下:declare 外层游标
open 外层游标
fetch next ...提取外层游标行
while @@FETCH_STATUS = 0
begin
declare 内层游标
open 内层游标
ftech next ...提取内层游标行
while @@FETCH_STATUS = 0
begin
.....处旅世和理内层游标
ftech next ....内层游标向下移动一行
end
close 内层游标
deallocate 内层游拆盯标
fetch next ....内层游返困标处理结束后,外层游标才继续向下移动一行
end
close 外层游标
deallocate 外层游标
也就是说,外层游标每移动一行,就要重复进行内层游标定义,打开,循环,关闭,释放等操作,然后才能再向下移动行实例看我的博客: http://blog.csdn.net/gxiangzi/article/details/6774786

热点内容
原神游戏服务器ip 发布:2025-02-06 17:54:23 浏览:810
如何查笔记本电脑的真正配置 发布:2025-02-06 17:48:07 浏览:81
存储器存在地址 发布:2025-02-06 17:47:28 浏览:539
phpsocket教程 发布:2025-02-06 17:42:13 浏览:423
mysql解压缩版安装 发布:2025-02-06 17:26:33 浏览:179
phpgd图片 发布:2025-02-06 17:24:34 浏览:206
php代码整理 发布:2025-02-06 17:24:31 浏览:477
java可执行文件 发布:2025-02-06 17:18:59 浏览:249
卫士相当于现在什么配置 发布:2025-02-06 17:05:04 浏览:409
项目编译慢 发布:2025-02-06 16:53:48 浏览:382