createdatabase employee select * from emp; deletefrom emp where empno=9999; select ename,sal from emp ; select * from emp where sal > 2000; select * from emp where deptno = 20and sal > 2000 ; select * from emp where deptno = 20or sal > 2000 ; select * from emp where sal between1000and3000 ; select * from emp where empno = 7788or empno = 7369or empno=7521; <!---more---> -- in select * from emp where empno in(7788,7369,7521); -- DISTINCT 去重 select job from emp ; selectDISTINCT job from emp ; -- 别名(字段,表) select empno 员工编号,ename 员工姓名 from emp ; select ename,sal,sal*1.05 新工资 from emp;
select ename,sal from emp e ; select e.ename,e.sal from emp e ; -- null 的判断 select * from emp where comm isnotnull ;
--模糊查询 --查询所有S打头的员工信息(模糊查询) % 代表0到多个字符 select * from emp where ename like'S%'; --查询所有N结尾的 select * from emp where ename like'%N'; --查询所有包含S的 select * from emp where ename like'%S%'; --查询所有第二个字符为L的员工信息 select * from emp where ename like'__L%';
--排序 (默认升序 order by字段 [asc] | desc) --默认 升序 select * from emp orderby sal ; --降序 select * from emp orderby sal desc ; --按照工资的降序排序,如果工资一样的,则按照empno的升序排序(用逗号) select * from emp orderby sal desc , empno ASC; --限制结果查询(limit m,n) m代表起始索引,n代表记录的数目,limit 仅适用于MySQL select * from emp limit5,5;
--查询20号部门工资最高的员工的信息 select * from emp where deptno = 20orderby sal desclimit0,1 ;
-- 员工数(统计记录数) selectcount(*) from emp ; selectcount(1) from emp ;
-- 统计非空字段数目 selectcount(comm) from emp; -- SUM selectsum(sal) from emp ; -- AVG selectavg(sal) from emp ; -- MIN selectmin(sal) from emp ; -- MAX selectmax(sal) from emp ;
-- 分组函数 GROUP BY deptno -- 每个部门的平均工资 -- group by 根据条件字段的值返回相应的记录数;但是在select字句中,只能出现聚合函数或者分组的条件字段。 select deptno, avg(sal) from emp GROUPBY deptno ;
-- 各个职位员工数? job select job, count(*) from emp groupby job; -- 平均工资大于2000的部门的部门编号和平均工资? where 不能放group by之后,having可以,group by 和having 经常配套使用 -- 1.求出每个部门的平均工资 -- 2.平均工资>2000 select deptno,avg(sal) from emp GROUPBY deptno havingavg(sal) > 2000;
-- where 和 having 的区别 -- 查询工资大于1500的每个部门的平均工资 select deptno, avg(sal) from emp where sal > 1500GROUPBY deptno ; -- 查询平均工资大于1500的部门编号和平均工资 select deptno,avg(sal) from emp GROUPBY deptno havingavg(sal) > 1500 ;