首页 > 代码库 > 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