`

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

分享到:
评论

相关推荐

    ORACLE和SQL Server的语法区别

    - **SQL Server:** SQL Server同样支持使用子查询进行更新操作,但在某些情况下可能需要重新编写子查询以适应SQL Server的语法。 ```sql UPDATE table_name SET column1 = (SELECT some_expr FROM some_table), ...

    sql server 2012 T-SQl基础教程 源码和示例数据库

    3. **Chapter 05 - Table Expressions**:此部分深入介绍了表表达式,如派生表、子查询、常见表表达式(CTE)以及如何使用它们进行复杂查询。 4. **Chapter 07 - Beyond the Fundamentals of Querying**:这个章节...

    Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf

    1. **基础查询语法**:包括SELECT语句的基本结构,用于从一个或多个表中检索数据。学习如何使用WHERE子句进行条件过滤,GROUP BY用于分组数据,HAVING来过滤分组后的结果,以及ORDER BY对结果进行排序。 2. **联接...

    SQL Server高级查询与T-SQL编程知识点汇总

    - **单行子查询**:返回单行结果,常用于WHERE子句中,限制数据选择。 - **多行子查询**:返回多行结果,可配合in、not in、any、all等运算符使用。 - **子查询位置**:子查询可出现在select、insert、update、...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的SQL Server系统中,用于数据查询、更新、插入和删除,以及复杂的存储过程和触发器的编写。 在SQL Server 2008版本中,T-SQL得到了许多增强和改进,这本书将...

    SQL-Server-DBA.rar_sql server

    DBA应精通SQL语法,包括SELECT、INSERT、UPDATE、DELETE等语句,以及更复杂的联接、子查询、聚合函数等操作。了解T-SQL(Transact-SQL)扩展,如存储过程、触发器和函数,是DBA必备技能。 三、数据库设计与优化 ...

    sql server 2005 技术内幕t-sql查询源码

    T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加了一系列特有的语法和功能,使得数据库管理和开发更为高效。 本书分为九个章节,全面覆盖了T-SQL查询的...

    Querying SQL server 70-461

    这部分将解释子查询的概念,以及如何在各种SQL语句中嵌入子查询。 2.3 实现数据类型(Implement Data Types) 数据类型是定义列中数据种类的关键。本节将介绍SQL Server支持的各种数据类型及其使用场景。 2.4 ...

    不同数据库sql语言差异化转换(sqlserver-->oracle)

    SQL Server常用`TOP`和`ORDER BY`结合实现分页,而Oracle则采用`ROWNUM`配合子查询或`OFFSET-FETCH`语法。转换时,需根据Oracle的分页方式调整代码。 4. **游标与循环** SQL Server的`DECLARE CURSOR`和`FETCH ...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    T-SQL是SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及数据库管理等任务。这本书的源代码及附录内容提供了丰富的实例和详尽的解释,帮助读者深化对T-SQL的理解和应用。 1. **T-SQL查询...

    SQLServer--关系数据库系统管理与开发(1)

    5. **T-SQL语言**:T-SQL是SQL Server的主要查询语言,用于数据查询、插入、更新和删除。掌握其基本语法、子查询、联接、聚合函数以及存储过程的编写是开发人员的基本技能。 6. **视图与存储过程**:视图是虚拟表,...

    Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码

    T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中用于数据操作、查询、存储过程和数据库控制的一种扩展SQL语法。此书主要关注于如何高效地使用T-SQL进行数据检索和处理,为数据库管理员和开发人员提供...

    Microsoft SQL SERVER 2008技术内幕 T-SQL查询

    在SQL Server 2008版本中,T-SQL的重要性不言而喻,它不仅是数据查询的基础,也是数据库开发、维护和性能优化的核心。 这本书详细讲解了以下几个关键知识点: 1. **T-SQL基础语法**:涵盖SELECT、FROM、WHERE、...

    MicroSoft Sql Server2005:T-Sql查询

    本篇文章将深入探讨T-SQL查询在SQL Server 2005中的应用,以"sqlserver2005 技术内幕:T-SQL查询第一章"为引,带你走进T-SQL的世界。 ### 1. T-SQL基础 T-SQL是SQL的扩展,它是SQL Server的标准查询语言,包含了...

    oracle与SQL server的语法差异总结

    另外,ROWNUM可以与子查询结合,通过ORDER BY排序后,利用ROWNUM创建顺序号,如:`SELECT * FROM (SELECT a.*, ROWNUM AS nrow FROM tab01 a ORDER BY code) WHERE nrow BETWEEN 10 AND 20`,这样可以获取code字段...

    SQL SERVER 2008 T-SQL 基础

    T-SQL是SQL Server的核心组件,用于数据查询、数据操纵、存储过程编写以及数据库对象的创建和管理。以下将详细介绍T-SQL在SQL Server 2008中的应用和关键知识点。 1. **数据查询**:T-SQL提供了SELECT语句,用于从...

    SQLServer数据库语法速成

    SQL(Structured Query Language)是一种用于管理和处理关系数据库的标准语言,它的主要功能包括数据查询、数据更新、数据插入和数据删除等。以下是一些关键的SQL Server语法知识点: 1. **数据查询**: - `SELECT...

    Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询.part1

    子查询,可以在查询内部嵌套其他查询以实现复杂的逻辑;以及集合操作,如并集(UNION)、交集(INTERSECT)和差异(EXCEPT)。 书中还会详细介绍聚合函数,如COUNT、SUM、AVG、MIN和MAX,它们用于对一组值进行统计...

    [电子书] SQL Server 2012 T-SQL 实用技巧 (英文版)

    4. **子查询与CTE**:深入探讨子查询的使用,以及如何利用公用表表达式(Common Table Expression, CTE)简化复杂查询。 5. **插入、更新和删除数据**:讲述INSERT、UPDATE和DELETE语句的操作方法,以及如何使用...

Global site tag (gtag.js) - Google Analytics