USE day44; -- 1 查出所有员工的名字,薪资,格式为 -- <名字:egon> <薪资:3000> SELECT '姓名:',name,'薪资:',salary from employee; -- 2 查出所有的岗位(去掉重复) select distinct(post) from employee; -- 3 查出所有员工名字,以及他们的年薪,年薪的字段名为annual_year SELECT name,salary*12 as annual_year from employee; -- 1. 查看岗位是teacher的员工姓名、年龄 select name,age from employee where post='teacher'; -- 2. 查看岗位是teacher且年龄大于30岁的员工姓名、年龄 select name,age from employee where post='teacher' and age>30; -- 3. 查看岗位是teacher且薪资在9000-1000范围内的员工姓名、年龄、薪资 select name,age,salary from employee where post='teacher' and salary BETWEEN 9000 and 10000; -- 4. 查看岗位描述不为NULL的员工信息 select * from employee where not null; -- 5. 查看岗位是teacher且薪资是10000或9000或30000的员工姓名、年龄、薪资 select * from employee where post='teacher' and salary in (10000,9000,30000); -- 6. 查看岗位是teacher且薪资不是10000或9000或30000的员工姓名、年龄、薪资 select * from employee where post='teacher' and salary not in(10000,9000,30000); -- 7. 查看岗位是teacher且名字是jin开头的员工姓名、年薪 select * from employee where name like 'jin%'; -- 1. 查询岗位名以及岗位包含的所有员工名字 select post,group_concat(name) from employee group by post; -- 2. 查询岗位名以及各岗位内包含的员工个数 select post,count(id) from employee group by post; -- 3. 查询公司内男员工和女员工的个数 select sex,count(id) from employee group by sex; -- 4. 查询岗位名以及各岗位的平均薪资 select post,avg(salary) from employee group by post; -- 5. 查询岗位名以及各岗位的最高薪资 select post,max(salary) from employee GROUP BY post; -- 6. 查询岗位名以及各岗位的最低薪资 select post,min(salary) from employee GROUP BY post; -- 7. 查询男员工与男员工的平均薪资,女员工与女员工的平均薪资 select sex,avg(salary) from employee group by sex; -- 1. 查询各岗位内包含的员工个数小于2的岗位名、岗位内包含员工名字、个数 select post,group_concat(name),count(id) from employee group by post having count(id)<2; -- 3. 查询各岗位平均薪资大于10000的岗位名、平均工资 select post,avg(salary) from employee group by post having avg(salary)>10000; -- 4. 查询各岗位平均薪资大于10000且小于20000的岗位名、平均工资 SELECT post,avg(salary) from employee group by post having avg(salary)>10000 and avg(salary)<20000; -- 1. 查询所有员工信息,先按照age升序排序,如果age相同则按照hire_date降序排序 select * from employee order by age asc,hire_date desc; -- 2. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资升序排列 select post,avg(salary)as a from employee group by post having avg(salary)>10000 order by a asc; -- 3. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资降序排列 select post,avg(salary) a from employee group by post having avg(salary) >10000 order by a desc; -- 查看所有员工中名字是jin开头,n或者g结果的员工信息 select * from employee where name REGEXP '^jin.*[n|g]$';