首页 > 代码库 > T-SQL

T-SQL

子查询:单值子查询和多值子查询

独立标量(单值)子查询:就是一个select返回一个值。例如id。将这个查询出来的一个值,作为另个select查询的where条件。通常两张表。

独立多值子查询:返回多个值,例如id。这些值在另一个查询中当做where条件。因为返回多个值,所以where条件中在这些值中不能用”=“,而是用“in”。

 

字段:一张表中,要留空余的字段和和isdel是否删除的字段。

--解释 选中tap键向右移动

= like in

 

where条件注意项:

1>2

多条件,括号的优先级调配。用(条件)and or(条件)

处理日期:查询某年某时间的匹配项。有一些函数,来处理。

当前时间getdate()year(时间字段) month(时间) day(时间)得到对应的年月日

例如:(year(getdate())-year(时间)=20)

时间:select id from biao where DATEDIFF()

模糊条件

%:任意个 任意字符

_任意一个字符

[]任意一个在括号的字符

[^]任意一个不是括号内的字符

where (name like ”李%“) and (sex=‘女‘)

 

as:1,字段 as 别名(as可以省略) 2,别名 = 字段  注意别名在前

 

select可以显示数据和运算结果。

select ‘李可’  例如:select ‘李可’ ,* from 表   会在没行数据前都加上‘李可’

select getdate(), 2+3  

从左到右运算,变量。同一级别 select 1  +‘1‘     显示2

 

top order by放在select 后面,其他字段前面,后面不要加”,“top(50),括号可以省略    --desc倒序 asc 默认升序

1,排名前多少或者多少百分比2,把这些前多少数据进行排序

select top (100) * from where sex=‘女‘ order by fenshu desc

 

*代替字段不好的原因:

1,当数据库更新的时候,假如多了几个字段,但是依然是*,就会出现错误

2,从优化的角度,查询这张表的话会先从数据库中查询这张表有多少字段,然后再查询。多了一步。不优化。

 

聚合函数:汇总的意思。select 聚合函数代替*了做汇总。总数,平均,最大,最小

MAX()   MIN() AVG()  SUM()  COUNT()  只是一行值。所以select 聚合后不能再跟一列出现多行数据字段。

T-SQL