摘要:为了最简单地说明问题,我特地设计了一张这样的表。 一、GROUP BY单值规则 规则1:单值规则,跟在SELECT后面的列表,对于每个分组来说,必须返回且仅仅返回一个值。 典型的表现就是跟在SELECT后面的列,如果没有使用聚合函数,必须出现在GROUP BY子句后面。 如下面这个查询报错...
阅读全文
随笔分类 - SQLServer:语句
SQL 语句
摘要:为了最简单地说明问题,我特地设计了一张这样的表。 一、GROUP BY单值规则 规则1:单值规则,跟在SELECT后面的列表,对于每个分组来说,必须返回且仅仅返回一个值。 典型的表现就是跟在SELECT后面的列,如果没有使用聚合函数,必须出现在GROUP BY子句后面。 如下面这个查询报错...
阅读全文
摘要:公用表表达式(CTE) 在编写T-SQL代码时,往往需要临时存储某些结果集。前面我们已经广泛使用和介绍了两种临时存储结果集的方法:临时表和表变量。除此之外,还可以使用公用表表达式的方法。公用表表达式(Common Table Expression)是SQL Server2005版本的引入的一个特性...
阅读全文
摘要:操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物。 表:Person_1魏国人物 表:Person_2蜀国人物 A、Union形成并集 Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。 1、限定条件 要是用Union来连接结果集,有4个限定条件。 (1)、子结果集要具有相同的结构。 (2)、字结果集的列数必须相同。 (3)、子结果集对应的数据类型必须可以兼容。 (4)、每个子结果集不能包含order by和compute子句。 ...
阅读全文
摘要:嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。 嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。一、子查询的组成 1、包含标准选择列表组件的标准select查询。 2、包含一个或多个表或者视图名称的标准from子句。 3、可选的where子句。 4、可选的group by子句。 5...
阅读全文
摘要:一、关联子查询-查日期最新列 前天在工作中遇到一条非常有用的SQL语句,想了好久愣是没搞出来。今天将这个问题模拟出来:先看表 需求是,对于每个人,仅显示时间最新的那一条记录。 答案如下:select * from record as a where not exists (select n...
阅读全文
摘要:一、连接查询简介 连接查询中用来连接连个表的条件称为连接条件或连接谓词。其形式为:[].[]. 常见的连接运算符包括 1、比较运算符:=、>、=、].[].and[].。二、连接按照结果集分类 1、内连接:表中的行互相连接。结果集的行数等于每个表满足条件的行数的乘积,参与连接的表示平等的。 2、外连接:参与连接的表有主次之分,主表的每一行数据去匹配从表的数据列,符合连接条件的数据将直接返回到结果集中,不符合连接条件的数据列将以null填充后返回到结果集中,其中外连接又分左外连接、右外连接和全连接3种。 (一)、等值连接查询select p.*,c.* from country ...
阅读全文
摘要:表中数据的变化牵一发而动全身,会同时导致到索引中数据的变化。因此如果查询语句不需要索引,就应该删除无用的索引以提高效率。一、INSERT语句 1、基本插入语句 insert用于向表中输入数据,其具体的语法结构如下: INSERT INTO 表名称 VALUES (值1, 值2,....) 我们也可以指定所要插入数据的列:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 整个语法结构如下: INSERT [TOP () [PERCENT] ] [INTO] [()] [ OUTPUT ] {VALUES( ...
阅读全文
摘要:一、语法结构select select_list[ into new_table ]from table_source[ where search_condition ][ group by broup_by_expression ][ having search_condition ][order by order_by_expression [ asc | desc ] select查询语句中的主要参数说明如下select_list:查询的列或者表达式的列表,用逗号进行分隔。new_table:新的表名。table_source:要查询的表。如果是多个表,用逗号进行分隔。search_co
阅读全文
|