- 浏览: 1763144 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
在select查询或表表达式中,top结合order by子句用于限制按order by顺序优先返回的结果
在2000中,只能使用常量制定该限制,而2005中支持在top中使用任意的独立表达式,而不仅仅是常量
例子:
SELECT TOP(3) OrderID, CustomerID, OrderDate
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC;
SELECT TOP(1) PERCENT OrderID, CustomerID, OrderDate
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC;
GO
因为Sql Server 2005支持把任意独立表达式作为TOP的输入,所以表达式必须被包含在圆括号内。为了向后兼容,仍然支持在select top查询中使用常量时可以不带圆括号
Top和确定性
Top查询并不一定要有Order by字句,然而这样的查询具有不确定性。也就是说,对相同的数据运行两次同样的查询,可能会产生不同的结果。
使用不带order by子句的select top查询的理由:
1、用select top查询快速预览表的结构或列名称
2、用select top(0)创建一个与另一个表或查询具有相同结构的空表
Top和输入表达式
DECLARE @n AS INT;
SET @n = 2;
SELECT TOP(@n) OrderID, OrderDate, CustomerID, EmployeeID
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC;
Top和修改
Sql Server不支持在数据修改语句中使用order by子句,即使使用了top选项也是如此,所以它不能依赖于排序。Sql Server只影响正好先访问到的指定行数
新增:
Insert top(100) into target_table select col1,col2,col3 from source_table
删除:
DELETE TOP(100) FROM dbo.LargeOrders
修改:
UPDATE TOP(5000) dbo.LargeOrders
SET CustomerID = N'ABCDE'
WHERE CustomerID = N'OLDWO';
变相排序
新增:
insert into target_table
select top(10) col1,col2,col3 from source_table order by col1;
删除:
with cte_del as
(
select top(10) * from some_table order by col1
)
delete from cte_del
修改:
with cte_upd as
(
select top(10) * from some_table order by col1
)
update cte_del set col2=col2+1
在2000中,只能使用常量制定该限制,而2005中支持在top中使用任意的独立表达式,而不仅仅是常量
例子:
SELECT TOP(3) OrderID, CustomerID, OrderDate
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC;
SELECT TOP(1) PERCENT OrderID, CustomerID, OrderDate
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC;
GO
因为Sql Server 2005支持把任意独立表达式作为TOP的输入,所以表达式必须被包含在圆括号内。为了向后兼容,仍然支持在select top查询中使用常量时可以不带圆括号
Top和确定性
Top查询并不一定要有Order by字句,然而这样的查询具有不确定性。也就是说,对相同的数据运行两次同样的查询,可能会产生不同的结果。
使用不带order by子句的select top查询的理由:
1、用select top查询快速预览表的结构或列名称
2、用select top(0)创建一个与另一个表或查询具有相同结构的空表
Top和输入表达式
DECLARE @n AS INT;
SET @n = 2;
SELECT TOP(@n) OrderID, OrderDate, CustomerID, EmployeeID
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC;
Top和修改
Sql Server不支持在数据修改语句中使用order by子句,即使使用了top选项也是如此,所以它不能依赖于排序。Sql Server只影响正好先访问到的指定行数
新增:
Insert top(100) into target_table select col1,col2,col3 from source_table
删除:
DELETE TOP(100) FROM dbo.LargeOrders
修改:
UPDATE TOP(5000) dbo.LargeOrders
SET CustomerID = N'ABCDE'
WHERE CustomerID = N'OLDWO';
变相排序
新增:
insert into target_table
select top(10) col1,col2,col3 from source_table order by col1;
删除:
with cte_del as
(
select top(10) * from some_table order by col1
)
delete from cte_del
修改:
with cte_upd as
(
select top(10) * from some_table order by col1
)
update cte_del set col2=col2+1
发表评论
-
SQL Server 2005中处理表分区问题
2008-08-28 11:01 2006数据库性能调优是每一 ... -
SQL LIKE 通配符随笔
2008-07-04 09:26 1600通配符 说明 _ 与任意单字符匹配 % 与包含一 ... -
五种提高 SQL 性能的方法
2008-07-02 12:10 1121有时, 为了让应用程序运行得更快,所做的全部工作就是在这里或那 ... -
SQL操作全集
2008-07-02 12:01 1106SQL分类: DDL—数据定义语言(CREATE,ALTER, ... -
不同服务器数据库之间的数据操作
2008-07-02 11:56 1909--创建链接服务器 exec sp_addlinkedser ... -
远程连接操作
2008-07-02 11:52 1277--远程连接操作 /******************** ... -
合并分拆表
2008-07-02 11:46 1444--合并分拆表 /********************** ... -
行列互转
2008-07-02 11:45 1380--行列互转 /*********************** ... -
T-SQL查询学习笔记——求下属和祖先的算法
2008-04-10 14:08 1891构建试验环境: CREATE TABLE dbo.Employ ... -
T-SQL查询学习笔记——数据修改
2008-04-10 11:45 2791一、插入数据 包括:select into、insert e ... -
T-SQL查询学习笔记——使用TOP和APPLY解决常见问题
2008-04-09 14:45 20671、每组中的TOP n问题 CREATE UNIQUE IND ... -
T-SQL查询学习笔记——分组因子的使用示例
2008-04-08 17:27 1648IF OBJECT_ID('Stocks') IS NOT N ... -
T-SQL查询学习笔记——求中值的几种方法
2008-04-08 11:28 2755中值有两种定义: 1、当组中包含奇数个元素时,我们将直接返回中 ... -
Over 字句
2008-04-07 17:34 1518功能:确定在应用关联的窗口函数之前,行集的分区和排序。 适用 ... -
sql 的随机函数newID()和RAND()
2008-03-20 11:05 3052SELECT * FROM Northwind..Orders ... -
T-SQL查询学习笔记——已有范围和缺失范围示例代码
2008-03-19 15:30 1886USE SqlTest;GOIF OBJECT_ID('db ... -
T-SQL查询学习笔记——快速生成数字辅助表的几种方法示例代码
2008-03-19 14:17 2295------------------------------- ... -
SELECT 与 SET 对变量赋值的区别
2008-03-17 15:29 2815SQL Server 中对已经定义的变量赋值的方式用两种,分别 ... -
SQL逻辑查询处理步骤
2008-03-14 17:22 17521、执行笛卡尔乘积(交叉联接) 2、应用ON筛选器(联接条件) ... -
Server 2005 中集合操作(UNION、EXCEPT、INTERSECT)
2008-03-14 16:32 1430集合操作在两个输入中比较全部行。 Union:返回 ...
相关推荐
《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威书籍。T-SQL是SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...
《Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中用于数据操作、查询、存储过程...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威指南。T-SQL是微软SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...
《Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询》是一部深入探讨SQL Server 2005数据库管理系统中Transact-SQL(T-SQL)查询技术的专业著作。本部分主要聚焦于如何高效、准确地在SQL Server 2005环境中...
SQL Server 2005 技术内幕:T-SQL 查询笔记 本笔记涵盖了 SQL Server 2005 技术内幕中 T-SQL 查询的前两章内容,主要介绍了逻辑查询处理、查询优化器、查询执行步骤、查询筛选器、聚合函数、子查询、别名的使用限制...
《SQL2008技术内幕——T-SQL查询》是一本深入探讨Microsoft SQL Server 2008数据库管理系统中T-SQL(Transact-SQL)查询的权威指南。T-SQL是SQL Server的核心语言,用于数据操作、存储过程编写、触发器定义以及...
《SQL Server 2012 T-SQL基础教程——源码与示例数据库》 本教程专注于Microsoft SQL Server 2012中的Transact-SQL(T-SQL)语言,这是SQL Server的主要查询语言,用于数据操作、查询、存储过程和数据库对象的编程...
本书及其续篇——《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》介绍了SQL Server 2005中高级T-SQL查询、查询优化及编程相关的知识。这两本书侧重于解决实践中的常见问题,并讨论了解决这些问题的方法。它们...
作为一本讲述T-SQL高级查询的专业图书,《Microsoft SQL Server 2008技术内幕:T-SQL查询》旨在结合实践中的各种常见问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。《Microsoft SQL ...
《Microsoft SQL Server 2005技术内幕:T-SQL查询》是一本深入探讨SQL Server 2005中T-SQL(Transact-SQL)查询的专著。T-SQL是微软数据库管理系统SQL Server的主要编程语言,用于执行数据查询、更新、插入和删除等...
**Microsoft SQL Server 2005 T-SQL查询详解** SQL Server 2005是Microsoft公司推出的一款强大且广泛使用的数据库管理系统...在"ch01.pdf"文档中,你将找到更详细的技术解析和实例,这将是你学习T-SQL查询的宝贵资源。
通过对《SQLServer2008技术内幕:T-SQL查询》的学习,读者可以全面掌握SQL Server 2008中的T-SQL查询,从而更好地设计、实施和优化数据库应用。无论是数据库开发者还是管理员,都能从中受益匪浅。
T-SQL(Transact-SQL)是SQL Server的标准查询语言,它是SQL的扩展,包含了SQL的所有功能,并增加了一些特有的编程元素,如过程、函数和事务控制等。 在SQL Server 2008中,T-SQL是进行数据管理、分析和应用程序...
T-SQL,全称Transact-SQL,是SQL语言的一个扩展,主要用于Microsoft SQL Server数据库管理系统。它是数据库查询、数据更新、事务...通过学习和实践这些示例,你可以深入了解T-SQL的强大功能,并提升数据库管理技能。
《Microsoft SQL Server 2005技术内幕:T-SQL查询》是一本深入解析SQL Server 2005中T-SQL查询语言的专业书籍。T-SQL(Transact-SQL)是微软对标准SQL的扩展,是SQL Server的核心组件,用于数据库管理、数据查询和...
通过对这些主题的深入学习,读者将能够熟练地编写复杂的T-SQL查询,解决实际数据库问题,并有效地利用SQL Server 2005的特性。书中包含的代码示例,不仅可以作为参考,也可以直接应用于实际项目中,对于提升数据库...
通过深入学习《Microsoft SQL Server 2008技术内幕:T-SQL查询》这本书,读者将能够熟练地使用T-SQL进行数据查询、操作和分析,从而更好地应对实际工作中的挑战。书中的源代码和附录A提供了丰富的实践示例,进一步...
数据库是存储和管理数据的重要工具,SQL(Structured Query Language)是用于操作数据库的语言。以下是对题目中涉及的一些关键知识点的详细解释: ...通过学习和理解这些内容,可以更好地进行数据管理、查询和分析。
T-SQL核对清单提供了13条实践建议,旨在提升数据库开发人员使用T-SQL(Transact-SQL,SQL Server中的SQL语言版本)进行数据处理时的效率与代码质量。以下是这些实践知识点的详细说明: 1. 使用基于集的解决方案:T-...