`
shyf12054213
  • 浏览: 33952 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

sql 学习随笔1 子查询

阅读更多

数据如下:
name val memo
a    2   a2(a的第二个值)
a    1   a1--a的第一个值
a    3   a3:a的第三个值
b    1   b1--b的第一个值
b    3   b3:b的第三个值
b    2   b2b2b2b2
b    4   b4b4
b    5   b5b5b5b5b5
*/

--创建表并插入数据:

create table tb(name varchar(10),val int,memo varchar(20))
insert into tb values('a',    2,   'a2(a的第二个值)')
insert into tb values('a',    1,   'a1--a的第一个值')
insert into tb values('a',    3,   'a3:a的第三个值')
insert into tb values('b',    1,   'b1--b的第一个值')
insert into tb values('b',    3,   'b3:b的第三个值')
insert into tb values('b',    2,   'b2b2b2b2')
insert into tb values('b',    4,   'b4b4')
insert into tb values('b',    5,   'b5b5b5b5b5')
go

 按name分组取第一次出现的行所在的数据。

select a.* from tb a where val = (select top 1 val from tb where name = a.name) order by a.name

什么是子查询
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)内部查询从其结果中把值传回到外部查询,外部查询使用这些值来完成其处理。 
 

分享到:
评论

相关推荐

    sql 子查询应用 含有实例说明

    SQL 子查询应用 SQL 子查询是 SQL 语言中一种强大的功能,可以用来解决复杂的查询问题。在本篇文章中,我们将讨论如何使用 SQL 子查询来解决一个实际问题,即计算银行账户的累计值。 在银行账户系统中,每笔交易都...

    SQL之分组统计和子查询专题

    SQL之分组统计和子查询专题 李兴华老师的ORACLE数据库课程中,对分组统计和子查询进行了深入详解。...通过本课程的学习,我们可以了解到分组统计和子查询的概念和应用场景,从而更好地应用在实际开发中。

    sqlserver子查询练习.sql

    Microsoft SQL Server 2008技术内幕:T-SQL语言基础(子查询)练习sql文件

    sql 联合查询 子查询 综合查询 统计数据

    sql 联合查询 子查询 综合查询 统计数据 case when then 用法

    第22讲 SQL语言高级06--子查询.PPT

    在SQL语言中,子查询是解决复杂数据查询问题的关键工具,尤其在高级SQL应用中扮演着重要角色。本讲主要围绕子查询的概念、类型、使用方法以及子查询的语法进行详细讲解。 首先,子查询能够解决的问题主要有两类:一...

    sql学习 hint研究之子查询生效范围.sql

    sql学习 hint研究之子查询生效范围.sql

    10.sql.server.2005.多表查询和子查询

    提供的"第十节 SQL Server 2005 多表查询和子查询.exe"很可能是教学视频或模拟练习软件,帮助你通过实践来学习这些概念。"课程说明(建议看看).txt"则可能包含了课程的详细说明,包括学习目标、步骤指导和练习建议,...

    SQL 查询树形子节点.

    sql 查询 所有子节点 方法已经调试通过(sql-server 2005)

    sql子查询的一些例子

    ### SQL子查询实例详解 #### 一、基本概念与应用场景 在SQL中,子查询(也称为嵌套查询)是指在一个查询语句中包含另一个查询语句的情况。它是一种非常强大的功能,可以用来解决复杂的查询需求,特别是在处理多表...

    SQL子查询学习[整理].pdf

    SQL子查询是数据库查询中的重要概念,特别是在软件开发领域,理解和熟练掌握子查询能够极大地提升数据处理效率。本文主要介绍了五种子查询类型:标量子查询、多列子查询、相关子查询、使用EXISTS和WITH子句。 1. **...

    sql数据库子查询.zip

    总之,“sql数据库子查询”这个主题覆盖了SQL查询中的一个重要部分,学习和熟练掌握子查询技巧对于提升SQL编程能力至关重要,无论是在日常的数据分析还是复杂的业务逻辑处理中,子查询都是一个不可或缺的工具。...

    SQL:第六章_子查询.ppt

    SQL:第六章_子查询.ppt

    SQL子查询和嵌套查询[收集].pdf

    1. WHERE子句中的子查询:将子查询的结果与主查询的某个条件进行比较,如使用=、、<、>、、>=等比较运算符。 2. IN操作符与子查询:WHERE子句中使用IN操作符,将主查询中的某个字段值与子查询返回的一系列值进行比较...

    SQL的数据查询功能之四---子查询.

    例如,查询与“刘晨”在同一系学习的学生,可以通过先找出“刘晨”所在的系(Sdept='IS'),然后将这个子查询的结果作为外部查询的条件(WHERE Sdept IN (子查询))。这使得我们可以将两个独立的查询合并成一个,...

    SQL学习笔记(pdf)

    1. **SQL基础** - 数据库概念:了解什么是数据库,它的作用以及数据库管理系统(DBMS)如何工作。 - SQL简介:介绍SQL语言的基本结构和功能,包括DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言)...

    oracle sql 多表连接和子查询

    oracle sql 多表连接和子查询 oracle sql 多表连接和子查询

    sql高级查询(入门与提高)

    1. 多表查询类型: * 连接(Join):将两个或多个表连接成一个表,用于查询多个表中的数据。 * 子查询(Subquery):一个 SELECT 查询,它嵌套在 SELECT 、INSERT 、UPDATE 、DELETE 语句或其它子查询中。 2. 子...

    jsqlparser解析复杂sql

    jsqlparser解析复杂sql 获取where条件字段 select字段 表名table 查询join 查询 group by 查询order by 子查询 判断是否为多级子查询

    sql子查询总结[参考].pdf

    SQL子查询总结 SQL子查询是指在SQL语言中,一个查询语句嵌套在另一个查询的查询条件之中的查询语句。子查询总是写在圆括号中,可以用在使用表达式的任何地方,如Select、Insert、Update或Delete语句或其他子查询中...

    SQL查询语句大全SQL查询语

    SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言,它是数据分析师、数据库管理员和程序员必备的技能之一。...学习和掌握SQL,能够帮助我们高效地管理和处理大量数据,是提升工作效率的关键。

Global site tag (gtag.js) - Google Analytics