社区
MS-SQL Server
帖子详情
嵌套子查询与关联子查询的本质区别在哪里呢?
zghzzy
2009-07-06 07:13:53
嵌套子查询与关联子查询的本质区别在哪里呢?
子查询是不是就会这两种,我不知这两种的区别何在?
是不是在内部查询中再次引用外部查询中表的别名的查询就是关联子查询呢?
select *
from tb a
where 字段 =(select 字段 from tb b on b.字段名二=a.字段名二)
上面,外层查询的表别名为a,内层查询的表别名为b,而且内层对外层有引用,是不是这种情况就是关联子查询.
...全文
1096
7
打赏
收藏
嵌套子查询与关联子查询的本质区别在哪里呢?
嵌套子查询与关联子查询的本质区别在哪里呢? 子查询是不是就会这两种,我不知这两种的区别何在? 是不是在内部查询中再次引用外部查询中表的别名的查询就是关联子查询呢? select * from tb a where 字段 =(select 字段 from tb b on b.字段名二=a.字段名二) 上面,外层查询的表别名为a,内层查询的表别名为b,而且内层对外层有引用,是不是这种情况就是关联子查询.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feixianxxx
2009-07-06
打赏
举报
回复
什么是子查询
1.子查询是嵌套在其他查询中的常规的T-SQL查询(用括号括起来),当需要一个SELECT语句作为数据部分的基础或另一个查询中的条件的要素时,就是创建子查询。
2.子查询满足的需求:
(1).把一个查询分解成一系列的逻辑步骤。
(2).提供一个列表作为WHERE子句和 [ IN | EXISTS | ANY | ALL] 的目标对象。
(3).提供由父查询中每一条记录驱动的查找。
一.嵌套的子查询
1.
嵌套子查询只朝一个方向进行
——要么返回一个而用于外部查询的值,要么返回一个与IN运算符一起使用的的值的列表。
2.嵌套子查询中,
内部查询只处理一次
。
3.
与NULL比较总会得到NULL
。如果允许NULL在子查询中出现,则在与NOT IN相比较时,外部查询中的所有行都会被确定为错误的——这将返回空的列表。
2.ANY, SOME和ALL
二.相关子查询
1.执行步骤:
(1)
外部查询得到一条记录并将其传入到内部查询
。
(2)内部查询基于传入的值执行。
(3)内部查询从其结果中把值传回到外部查询,外部查询使用这些值来完成其处理。
feixianxxx
2009-07-06
打赏
举报
回复
什么是子查询
1.子查询是嵌套在其他查询中的常规的T-SQL查询(用括号括起来),当需要一个SELECT语句作为数据部分的基础或另一个查询中的条件的要素时,就是创建子查询。
2.子查询满足的需求:
(1).把一个查询分解成一系列的逻辑步骤。
(2).提供一个列表作为WHERE子句和 [ IN | EXISTS | ANY | ALL] 的目标对象。
(3).提供由父查询中每一条记录驱动的查找。
一.嵌套的子查询
1.嵌套子查询只朝一个方向进行——要么返回一个而用于外部查询的值,要么返回一个与IN运算符一起使用的的值的列表。
2.嵌套子查询中,内部查询只处理一次。
3.与NULL比较总会得到NULL。如果允许NULL在子查询中出现,则在与NOT IN相比较时,外部查询中的所有行都会被确定为错误的——这将返回空的列表。
2.ANY, SOME和ALL
二.相关子查询
1.执行步骤:
(1)外部查询得到一条记录并将其传入到内部查询。
(2)内部查询基于传入的值执行。
(3)内部查询从其结果中把值传回到外部查询,外部查询使用这些值来完成其处理。
feixianxxx
2009-07-06
打赏
举报
回复
给你看看资料
很多SQLServer程序员对子查询(subqueries)的使用感到困惑,尤其对于嵌套子查询(即子查询中包含一个子查询)。现在,就让我们追本溯源地探究这个问题。
有两种子查询类型:标准和相关。
标准子查询执行一次,结果反馈给父查询。相关子查询每行执行一次,由父查询找回。
在本文中,我将重点讨论嵌套子查询(nestedsubqueries)(我将在以后介绍相关子查询)。
试想这个问题:你想生成一个卖平垫圈的销售人员列表。你需要的数据分散在四个表格中:人员.联系方式(Person.Contact),人力资源.员工(HumanResources.Employee),销售.销售订单标题(Sales.SalesOrderHeader),销售.销售订单详情(Sales.SalesOrderDetail)。在SQLServer中,你从内压式(outside-in)写程序,但从外压式(inside-out)开始考虑非常有帮助,即可以一次解决需要的一个语句。如果从内到外写起,可以检查Sales.SalesOrderDetail表格,在LIKE语句中匹配产品数(ProductNumber)值。你将这些行与Sales.SalesOrderHeader表格连接,从中可以获得销售人员IDs(SalesPersonIDs)。然后使用SalesPersonID连接SalesPersonID表格。最后,使用ContactID连接Person.Contact表格。
USE AdventureWorks;GOSELECTDISTINCTc.LastName,c.FirstNameFROMPerson.ContactcJOINHumanResources.EmployeeeONe.ContactID=c.ContactIDWHEREEmployeeIDIN(SELECTSalesPersonIDFROMSales.SalesOrderHeaderWHERESalesOrderIDIN(SELECTSalesOrderIDFROMSales.SalesOrderDetailWHEREProductIDIN(SELECTProductIDFROMProduction.ProductpWHEREProductNumberLIKE'FW%')));GO 这个例子揭示了有关SQLServer的几个绝妙事情。你可以发现,可以用IN()参数替代SELECT语句。在本例中,有两次应用,因此创建了一个嵌套子查询。我是标准化(normalization)的发烧友,尽管我不接受其荒谬的长度。由于标准化具有各种查询而增加了复杂性。在这些情况下子查询就显得非常有用,嵌套子查询甚至更加有用。当你需要的问题分散于很多表格中时,你必须再次将它们拼在一起,这时你可能发现嵌套子程序就很有用
叶子
2009-07-06
打赏
举报
回复
尽量避免使用关联子查询
http://book.csdn.net/bookfiles/795/10079523922.shtml
Zoezs
2009-07-06
打赏
举报
回复
这个应该相当是是子集的关系,里层的查询是外层的子集。
Zoezs
2009-07-06
打赏
举报
回复
这个应该相当是是子集的关系,里层的查询是外层的子集。
influxdb无法实现
关联
表_InfluxDB常见问题和解答 - 如何在InfluxDB中实现
嵌套
子查询
...
SELECT mean(max("cpu_usage")) FROM "cpu_usage_detail" GROUP BY time(1m)大多数InfluxQL的内置函数不支持函数的
嵌套
,可以借助连续查询来实现类似的功能,先通过连续查询做实现
子查询
功能,把结果保存到新表...
T-SQL查询——
嵌套
子查询
SQL有着非常强大且灵活的查询方式,而多表连接操作往往也可以用
子查询
进行替代,
子查询
本质上是
嵌套
进其他select,update,insert,delete语句的一个被限制的select语句,在
子查询
中,只有下面几个子句可以使用 ...
java技术--
子查询
和连接查询比较
1.
子查询
1.1. MySQL从4.1版本开始支持
子查询
,使用
子查询
进行SELECT语句
嵌套
查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作 1.2.
子查询
虽然很灵活,但是执行效率并不高 1.3.执行
子查询
时,MYSQL需要...
Day03:MYSQL 复杂查询方法-视图、
子查询
、函数等
视图、
子查询
、函数等3.1 视图3.1.1 什么是视图3.1.2 视图与表有什么区别3.1.3 为什么会存在视图3.1.4 如何创建视图3.1.5 如何修改视图结构3.1.6 如何更新视图内容3.1.7 如何删除视图3.2
子查询
3.2.1 什么是
子查询
...
MYSQL8
子查询
MYSQL
子查询
MS-SQL Server
34,597
社区成员
254,586
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章