SQL Server 的T-SQL高级查询指的是什么(sql server,t-sql,开发技术)

时间:2024-05-09 06:49:47 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    SQL%C2%A0Server%C2%A0%E7%9A%84T-SQL%E9%AB%98%E7%BA%A7%E6%9F%A5%E8%AF%A2%E6%8C%87%E7%9A%84%E6%98%AF%E4%BB%80%E4%B9%88

子查询是一个嵌套在select、insert、update或delete语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。子查询也称为内部查询或内部选择,而包含子查询的语句也成为外部查询或外部选择。

上面括号中的语句,就是子查询语句(内部查询)。在外面的是外部查询,其中外部查询可以包含以下语句:

1、 包含常规选择列表组件的常规select查询

2、 包含一个或多个表或视图名称的常规from语句

3、 可选的where子句

4、 可选的group by子句

5、 可选的having子句

in、not in 后面的子句返回的结果必须是一列,这一列的结果将会作为查询条件对应前面的条件。如cid对应子句的id;

exists和not exists查询需要内部查询和外部查询进行一个关联的条件,如果没有这个条件将是查询到的所有信息。如:id等于student.id;

compute进行汇总前面是查询的结果,后面一条结果集就是汇总的信息。compute子句中可以添加多个汇总表达式,可以添加的信息如下:

a、 可选by关键字。它是每一列计算指定的行聚合

b、 行聚合函数名称。包括sum、avg、min、max、count等

c、 要对其执行聚合函数的列

compute by适合做先分组后汇总的业务。compute by后面的列一定要是order by中出现的列。

cube汇总和compute效果类似,但语法较简洁,而且返回的是一个结果集。

cube要结合group by语句完成分组汇总

排序在很多地方需要用到,需要对查询结果进行排序并且给出序号。比如:

1、 对某张表进行排序,序号需要递增不重复的

2、 对学生的成绩进行排序,得出名次,名次可以并列,但名次的序号是连续递增的

3、 在某些排序的情况下,需要跳空序号,虽然是并列

根据排序子句给出递增连续序号

根据排序子句给出递增的序号,但是存在并列并且跳空

根据排序子句给出递增的序号,但是存在并列不跳空

可以完成对分组的数据进行增加排序,partition by可以与以上三个函数联合使用。

将要排序的数据进行平分,然后按照等分排序。ntile中的参数代表分成多少等分。

操作两组查询结果,进行交集、并集、减集运算

查询表的时候,有时候中间表需要重复使用,这些子查询被重复查询调用,不但效率低,而且可读性低,不利于理解。那么公式表表达式可以解决这个问题。

我们可以将公式表表达式(CET)视为临时结果集,在select、insert、update、delete或是create view语句的执行范围内进行定义。

max最大值、min最小值、count统计、avg平均值、sum求和、var求方差

查看当前数据库所有函数

本文:SQL Server 的T-SQL高级查询指的是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:springboot无法自动装配的问题怎么解决下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18