数据如下:
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)内部查询从其结果中把值传回到外部查询,外部查询使用这些值来完成其处理。
分享到:
相关推荐
这里`another_table`是另一个表名,`condition`是用于筛选子查询结果的条件。 #### 十、创建表 创建新表的语法如下: ``` CREATE TABLE table_name ( column1 datatype, column2 datatype, ); ``` 其中`table_name...
在Visual Studio .NET 2005之前,SQL Server Reporting Services (SSRS) 提供了RDL报表。随着Visual Studio .NET 2005的发布,Microsoft推出了Report Viewer Control,进一步增强了报表的设计和集成能力。**RDLC**中...
第1章 MySQL 与 SQL 介绍 1 1.1 MySQL 的用途 1 1.2 一个样例数据库 4 1.2.1 美国历史同盟 4 1.2.2 学分保存方案 6 1.2.3 样例数据库怎样才能满足需求 6 1.3 基本数据库术语 7 1.3.1 基本术语 7 1.3.2 查询语言术语 ...
查询可以根据业务需求进行定制,可以是简单的选择、聚合,也可以是复杂的联接和子查询。 3. 数据处理:将查询结果转换成适合Excel的格式,可能涉及到数据清洗、格式转换等操作。 4. Excel生成:使用对应的库将处理后...
第1章 MySQL 与 SQL 介绍 1 1.1 MySQL 的用途 1 1.2 一个样例数据库 4 1.2.1 美国历史同盟 4 1.2.2 学分保存方案 6 1.2.3 样例数据库怎样才能满足需求 6 1.3 基本数据库术语 7 1.3.1 基本术语 7 1.3.2 查询...
Mybatis关联映射是数据库操作中的一个重要概念,它允许我们在SQL查询中处理一对多、多对一、多对多等复杂关系。在这个"Mybatis关联映射Demo"中,我们将深入探讨如何在Mybatis框架中实现这些关系映射,以便更好地理解...
这个应该是05年的时候做的毕业设计,用超图的Supermap IS 2003+SQL Server 2000建立的一个比较的简单的系统,只是玄乎了下就变的有点意思了,甚至也有点学习或者创新的意思。 加上上次发布的论文部分,这样整个系统...