查询语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件
order by
排序字段
limit
分页限定
1.基础查询
查询多个字段
select 字段列表 from 表名;
select * from 表名; //查询所有数据
去除重复记录
select distinct 字段列表 from 表名;
起别名
AS: AS也可以省略,使用一个空格隔开
2.条件查询
条件查询语法
select 字段列表 from 表名 where 条件列表; // 注:条件中判断是否为NULL用 is 或者 is not 来判断
模糊查询like
通配符:
(1)_:代表单个任意字符
(2)%:代表任意个数字符
其他条件大致与编程语言相同,&&一般用and,||一般用or代替,<>为!=,判断是否==时则是使用单个=。
3.排序查询
select 字段列表 from 表名 order by 排序字段名1 [排序方式1], 排序字段名2 [排序方式2] …;
排序方式:
ASC:升序排列(默认)
DESC:降序排列
4.分组查询
聚合函数
概念:
将一列数据作为一个整体,进行纵向计算。
聚合函数分类:
count() 统计数量 //select count(*) from 表名;(查出表中有多少行数据)
max() 最大值
min() 最小值
sum() 求和
avg() 平均值
select 聚合函数名(列名) from 表; // 注意NULL不参与运算
分组查询语法
select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
where 和 having 区别:
执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过 滤。
可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。
5.分页查询
分页查询语法
select 字段列表 from 表名 limit 起始索引 , 查询条目数;
起始索引从0开始
计算公式:起始索引=(当前代码-1)*查询条目数
注:limit仅能在MySQL中使用
Oracle用rownumber
SQL Server用top