Microsoft SQL Server数据查询基础
一、基本结构
语法
select 字段1,字段2.... from 表名
where 表达式
group by 字段 having 表达式
order by 字段 asc|desc
执行顺序
- 执行from子句,多表则计算笛卡尔积,得到中间表
- 执行where子句,删除不满足条件的数据
- 执行group by 子句分组
- 如果有聚合函数,则执行聚合函数获取结果
- 执行 having子句删除不满足条件的分组
- 执行order by子句对结果集排序
二、选择列表
选择所有列
select * from 表名
选择部分列(多列以,分隔)
select 字段1,字段2...... from 表名
使用列标题:as 或 空格
select 字段1 as 别名1,字段2 别名2..... from 表名
去除重复行
select distinct 字段1,字段2...... from 表名
三、条件查询:where 表达式(单条件、组合)
【where】删、改、查语句中都可能用到
- 条件运算符:< > <= >= != <> =
- 逻辑运算符: 与and 或or 非not
- 操作数:常量、变量、列、函数
四、查询结果排序
单列排序
selete * 表名 [where <表达式>] order by 字段1 [asc|desc]
- asc:升序,默认,可省略
- desc:降序
多列排序
selete 字段1 [asc|desc],字段2 [asc|desc]..... 表名 [where <表达式>]
【注意】
- 逗号分隔
- 排序优先级从左到右
五、使用TOP N指定返回行数
限定行 top n
select top n 字段1,字段2...... from 表名
限定百分比 top n percent
select top n percent 字段1,字段2...... from 表名