March 17, 2018

Microsoft SQL Server数据查询基础

一、基本结构

语法

select	字段1,字段2.... from 表名 
where	表达式
group by 字段 having 表达式
order by 字段 asc|desc

执行顺序

  1. 执行from子句,多表则计算笛卡尔积,得到中间表
  2. 执行where子句,删除不满足条件的数据
  3. 执行group by 子句分组
  4. 如果有聚合函数,则执行聚合函数获取结果
  5. 执行 having子句删除不满足条件的分组
  6. 执行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 表名