一、基础查询
1、查询多个字段
select 字段列表 from 表名; select * from 表名; //查询所有数据
2、去除重复记录
select distinct 字段列表 from 表名; //获取数据时发现其中含有完全一样的两个数据,这时可以使用该字段实现去除多余数据的作用
3、起别名 (as可以省略 但要保证字段名和别名之间至少存在一个空格)
二、条件查询
1、条件查询语法
select 字段列表 from 表名 where 条件列表;
条件列表
2、like模糊查询
通配符:(1)_:代表单个任意字符 (2)%:代表任意个数字符
下面对该表进行模糊查询
(1)查询用户名姓古的人
(2)查询用户名第三个字为女的用户 (sql语句中“女”字前有两个_)
(3)查询名字中带有“王”的用户
三、排序查询
1、排序查询语法
select 字段列表 from 表名 order by 排序字段名1 [排序方式1] , 排序字段名2 [排序方式2] , ...
2、排序方式
ASC:升序排列
DESC:降序排列
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序
四、聚合函数
1、概念:将一列数据作为一个整体,进行纵向计算
2、
3、语法
以下是表中的数据
select 聚合函数名(列名) from 表名;
注:null不参与所有聚合函数运算
eg:
五、分组查询
1、语法
select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
注:分组后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义。
2、where和having的区别
①执行时机不一样:where在分组之前进行限定,不满足where条件则不参与分组,而having是分组之后对结果进行过滤。
②可判断的条件不一样:where不能对聚合函数进行判断,having可以。
③执行顺序:where>聚合函数>having
3、eg:
分别获取男女的平均分及人数
分别获取年龄为20的男女的平均分
六、分页查询