`

SQLServer--数据查询--子查询语法

    博客分类:
  • sql
 
阅读更多

——————————子查询—————————————-

———–将查询的结果作为子表,连表查询 
select * from StuInfo s1,(select * from StuMarks where Score >80)s2 where s1.StuID=s2.StuID AND s1.StuName=’李四’

———–将查询结果作为条件使用 
select * from StuInfo WHERE StuID>(select StuID from StuInfo where StuName=’王五’) 
———–将子查询作为临时表使用 
select s1.,s2 Score from StuInfo s1 left outer join (select from StuMarks where Subject=’HTML’) s2 on s1.StuID=s2.StuID 
———–将子查询作为列使用 (不建议使用) 
select s1.*,(select Score from StuMarks s2 where s1.StuID=s1.StuID and subject=’html’) Score from StuInfo s1 
———–使用in 和not in 完成子查询 
select StuName from StuInfo where StuID In (select StuID from StuMarks where Score >85 and Subject=’java’) 
———–使用exist 或not exist 完成子查询 
select * from StuInfo where exists (select * from StuMarks where StuMarks.StuID=StuInfo.StuID) 
———–使用some 、any、 all进行子查询 
——————–聚合函数—————————————————– 
—————使用compute 和compute by进行汇总 
———————-排序函数 
—————排序函数over([分组子句]排序子句[desc][asc]) 
—————排序子句order by 排序列,排序列……. 
—————分组排序 partition by 分组列,分组列

————————row__number()函数 
select row_number() over (order by Score DESC) AS 排名 
s1.StuName,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID and s2.Subject=’Java’

————————rank函数 
select rank() over (order by Score DESC) AS 排名 
s1.StuName,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID and s2.Subject=’Java’

————————DENSE_RANK()函数 
select dense_rank() over (order by Score DESC) AS 排名 
s1.StuName,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID and s2.Subject=’Java’ 
————————-使用partition by 分组子句 
select dense_rank() over (partition by s2.Subject order by Score DESC) AS 排名 
s1.StuName,s2.Subject,s2.Score from StuInfo s1,StuMarks s2 where s1.StuID=s2.StuID 
————————-公用表达式 
————–CTE的基本用法 
WITH expression_name[(column_name[,…n])] 
as 
(CTE_query_definition)

with StuInfo_Mark (StuID,StuName,Subject,Score) 
as 

select s1.StuID,s1.StuName,s2.Subject, 
s2.Score from StuInfo s1,StuMarks s2 
where s1.StuID=s2.StuID 

select * from StuInfo_Mark 
go 
———————-2016.8.15

转自:http://blog.csdn.net/wx11055/article/details/52549484

分享到:
评论

相关推荐

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    精通SQL--结构化查询语言详解

    11.4.4 sql server数据库数据导入 230 第12章 数据的更新和删除 233 12.1 更新表中的数据 233 12.1.1 update语句的基本语法 233 12.1.2 update语句更新列值 234 12.1.3 利用子查询更新多行的值 237 12.1.4 ...

    SQL Server 2014基础入门视频教程 (40集,含课件)

    18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 20.SQL Server 2014关联查询.mp4 21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server 2014聚合函数MIN() MAX().mp4 23.SQL ...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    17.SQL Server 2014子查询IN.mp4 18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联查询.mp4 21.SQL Server 2014聚合函数...

    SQL Server 到 Oracle 的SQL 语法自动翻译器源码

    支持复杂的SQL,例如嵌套/子查询等。 这是小弟为了一个Oracle项目的应急之作,我们的系统(Delphi的三层架构)一直运行在sql server下面, 当时客户指定需要的是支持Oracle版本的应用系统, 这个系统不小,如果...

    SQLServer2008技术内幕T-SQL查询包含源代码及附录A

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    Microsoft SQL Server 2008技术内幕:T-SQL语言基础

    主要包括SQL的基础理论、逻辑查询处理、SELECT查询、连接和子查询、表表达式、过滤和分组、透视转换、修改数据、事务和一致性的处理、可编程对象等内容。 书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中的...

    SQL Server 2008高级程序设计 4/6

     18.4 全文查询语法  18.5 停止词  18.6 小结 第19章 安全性  19.1 安全性基础知识  19.2 安全性选项  19.3 用户权限  19.4 服务器和数据库角色  19.5 应用程序角色  19.6 更高级的安全性  19.7...

    SQL Server 2008高级程序设计 2/6

     18.4 全文查询语法  18.5 停止词  18.6 小结 第19章 安全性  19.1 安全性基础知识  19.2 安全性选项  19.3 用户权限  19.4 服务器和数据库角色  19.5 应用程序角色  19.6 更高级的安全性  19.7...

    SQL Server 2005 T-SQL数据查询

    内容:熟练掌握查询语法格式和使用 掌握投影查询、连接查询、选择查询、分组统计查询、限定查询、排序查询和保存查询 掌握连接查询 一般掌握子查询

    (第二卷)Microsoft SQL Server 2008技术内幕:T-SQL语言基础

    主要包括SQL的基础理论、逻辑查询处理、SELECT查询、连接和子查询、表表达式、过滤和分组、透视转换、修改数据、事务和一致性的处理、可编程对象等内容。  书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程.txt

    17.SQL Server 2014子查询IN.mp4 18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联查询.mp4 21.SQL Server 2014聚合函数...

    Microsoft SQL Server 2008技术内幕:T-SQL语言基础

    主要包括SQL的基础理论、逻辑查询处理、SELECT查询、连接和子查询、表表达式、过滤和分组、透视转换、修改数据、事务和一致性的处理、可编程对象等内容。 书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中的...

    (第一卷)Microsoft.SQL.Server.2008技术内幕:T-SQL语言基础

    主要包括SQL的基础理论、逻辑查询处理、SELECT查询、连接和子查询、表表达式、过滤和分组、透视转换、修改数据、事务和一致性的处理、可编程对象等内容。  书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,...

    Microsoft+SQL+Server+2008技术内幕:T-SQL查询_源代码及附录 中文版

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    SQL高级--机试模拟题考试及答案

    2.使用子查询查询出选择了购买了不是“香蕉”并且用户名不是“李白”的用户3.使用T-SQL语句,定义一个变量,用于保存商品名称,作为查询条件查询出商品信息,4.创建视图,查询出字段“商品ID,名称,类型名”4.创建...

    SQL server 语句大全

    子查询 15 视图(虚拟表)和索引 16 视图 16 索引 16 事务管理 17 数据库的安全性 18 建立权限 19 存储过程(procedure) 20 无参数存储过程 20 带参数 20 带参数模糊查找 20 带参数空值和模糊查找 21 多...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,...

    SQL Server 2008编程入门经典(第3版)

    9.2.2 SQLServer中访问数据的方式 9.3 创建、修改和删除索引 9.3.1 CREATEINDEX语句 9.3.2 创建XML索引 9.3.3 随约束创建的隐含索引 9.3.4 在稀疏列和地理空间列上创建索引 9.4 明智地选择——在何时何地使用何种...

Global site tag (gtag.js) - Google Analytics