赞
踩
用来查询数据库表中的记录,使用频率高。重点!!
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数
SELECT 字段1,字段2,...FROM 表名;
SELECT * FROM 表名;
-- 1.查询指定 name,workno,age 字段返回
SELECT name,workno,age FROM emp;
-- 2.查询所有字段返回
select * from emp;
SELECT 字段1 [AS] 别名1,字段2 [AS] 别名2,... FROM 表名;
-- 3.查询所有员工的工作地址,起别名
SELECT workaddress AS'工作地址'FROM emp ;
SELECT workaddress'工作地址' FROM emp;
SELECT DISTINCT 字段列表 FROM 表名;
-4.查询公司员工的上班地址(不要重复)
SELECT DISTINCT porkaddress'工作地址'FROM emp;
SELECT 字段列表 FROM 表名 WHERE 条件列表;
逻辑运算符:
比较运算符
将一列数据作为一个整体,进行纵向运算
count:统计数量 / max:最大值 / min:最小值
avg:平均值 / sum:求和
SELECT 聚合函数(字段列表) FROM 表名;
注意: 使用聚合函数时,NULL 值不参与运算。
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件] ;
1、执行时机: where在分组之前进行过滤,不满足where条件的不参与分组;having时对分组之后的结果进行过滤。
2、判断条件:where不能对聚合函数进行判断,having可以。
执行顺序:WHERE > 聚合函数 >HAVING.
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
案例:
1、根据性别分组,统计男性员工和女性员工的数量;
SELECT gender,count(*) FROM emp GROUPE BY gender;
2、根据性别分组,统计男性员工和女性员工的平均年龄
select gender, avg(age) from emp group by gender ;
3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址
select workaddress, count(*) from emp where age < 45 group by workaddress
SELECT 字符按列表 FROM 表名 ORDER BY 字段1 排序方式,字段2 排序方式...;
默认:ASC :升序
** DESC ** :降序
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
1、起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。
2、分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中时LIMIT。
3、如果查询的时第一页数据,起始索引可以省略,直接简写limit 10(每页显示10条记录)。
案例:
1,查询第1页员工教据,每页展示10条记录
select * from emp limit 0, 10;
select from emp limit 10;
2.查询第2页员工数据,每页展示10条记录-------->(页码-1)+页展示记录数
select * from emp limit 10,10;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。