All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET中利用DataGrid实现高效分页_[Asp.Net教程]
ASP.NET入门数据篇_[Asp.Net教程]
C#教程:KeyPress事件使用实例
PHP数组的定义、初始化和数组元素的显示_[PHP教程]
C#中ArrayList.CopyTo
使用,BasePage,来解决,GridView,执行,RenderControl,产生的错误_[Asp.Net教程]
用CommandBehavior自动关闭与之相关联的conn_[Asp.Net教程]
PHP爱好者来看:常用PHP代码_php资料_编程技术
优秀.net,控件包介绍_[Asp.Net教程]
Delphi格式输入组件(TMaskEdit)使用实例
Reading number is top 10 pictures
清纯性感的美眉2
中国女孩大胆自拍,显露完美身材4
Go to the national museum2
赵惟依写真2
这才叫绝色美女2
初五接财神啦!五路财神齐来到
The Soviet union swimsuit exposure in the 70 year3
乳娘帕梅拉安德森2
The hot big eye big breast beauty1
yy365网站上的美女2
Download software ranking
Sora aoi, the nurse, uniform ,nursing assistant
Ashlynn Video1
Unix video tutorial1
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
Tram sex maniac 2 (H) rar bag6
Tram sex maniac 2 (H) rar bag1
Unix video tutorial7
Tram sex maniac 2 (H) rar bag14
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
Boxer vs Yellow3
归海一刀 published in(发表于) 2014/2/3 6:43:35 Edit(编辑)
如何使用SQL Server数据库嵌套子查询_[SQL Server教程]

如何使用SQL Server数据库嵌套子查询_[SQL Server教程]

如何使用SQL Server数据库嵌套子查询_[SQL Server教程]


很多SQL Server程序员对子查询(subqueries)的使用感到困惑,尤其对于嵌套子查询(即子查询中包含一个子查询)。现在,就让我们追本溯源地探究这个问题。



有两种子查询类型:标准和相关。标准子查询执行一次,结果反馈给父查询。相关子查询每行执行一次,由父查询找回。在本文中,我将重点讨论嵌套子查询(nested subqueries)(我将在以后介绍相关子查询)。



试想这个问题:你想生成一个卖平垫圈的销售人员列表。你需要的数据分散在四个表格中:人员.联系方式(Person.Contact),人力资源.员工(HumanResources.Employee),销售.销售订单标题(Sales.SalesOrderHeader),销售.销售订单详情(Sales.SalesOrderDetail)。在SQL Server中,你从内压式(outside-in)写程序,但从外压式(inside-out)开始考虑非常有帮助,即可以一次解决需要的一个语句。



如果从内到外写起,可以检查Sales.SalesOrderDetail表格,在LIKE语句中匹配产品数(ProductNumber)值。你将这些行与Sales.SalesOrderHeader表格连接,从中可以获得销售人员IDs(SalesPersonIDs)。然后使用SalesPersonID连接SalesPersonID表格。最后,使用ContactID连接Person.Contact表格。




USE AdventureWorks ;
GO
SELECT DISTINCT c.LastName, c.FirstName
FROM Person.Contact c JOIN HumanResources.Employee e
ON e.ContactID = c.ContactID WHERE EmployeeID IN
(SELECT SalesPersonID
FROM Sales.SalesOrderHeader
WHERE SalesOrderID IN
(SELECT SalesOrderID
FROM Sales.SalesOrderDetail
WHERE ProductID IN
(SELECT ProductID
FROM Production.Product p
WHERE ProductNumber LIKE'FW%')));
GO


这个例子揭示了有关SQL Server的几个绝妙事情。你可以发现,可以用IN()参数替代SELECT 语句。在本例中,有两次应用,因此创建了一个嵌套子查询。



我是标准化(normalization)的发烧友,尽管我不接受其荒谬的长度。由于标准化具有各种查询而增加了复杂性。在这些情况下子查询就显得非常有用,嵌套子查询甚至更加有用。



当你需要的问题分散于很多表格中时,你必须再次将它们拼在一起,这时你可能发现嵌套子程序就很有用。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.