单表查询
显示所有职工的基本信息。
select * from worker;
查询所有职工所属部门的部门号,不显示重复的部门号。
select distance(部门号) from worker
求出所有职工的人数。
select count(1) 职工号 from worker;
列出最高工资和最低工资。
select max(工资),min(工资) from worker;
列出职工的平均工资和总工资。
select avg(工资),sum(工资) from worker;
创建一个只有职工号、姓名和工作时间的新表,名为工作日期表。
create table workdate(workid int,workname varchar(10),join_date varchar(50));
显示所有女职工的年龄。
select age
from employees
where gender = 'female';
- 表里忘创建职工的性别和年龄。
列出所有姓刘的职工的职工号、姓名和出生日期。
select 职工号 ,姓名, 出生日期 from worker where 姓名 like "刘%";
- 此表没有姓刘的所以查询为空
列出1960年以前出生的职工的姓名、参加工作日期。
select 姓名,工作时间 from worker where 出生日期<1960;
- 表里都是出生日期大于1960年的所以为空
列出工资在1000-2000之间的所有职工姓名。
select 姓名 from worker where 工资>1000 and 工资<2000;
- 表里工资都大于2000所以为空
列出所有陈姓和李姓的职工姓名。
select 姓名 from worker where 姓名 like '陈%' or 姓名 like '李%';
列出所有部门号为2和3的职工号、姓名、党员否。
select 部门号,职工号,姓名,政治面貌 from worker where (部门号=102 or 部门号=103) and 政治面貌!='党员';
将职工表worker中的职工按出生的先后顺序排序。
select 姓名 from worker order by 出生日期;
显示工资最高的前3名职工的职工号和姓名。
select 职工号 ,姓名 from worker order by 工资 desc limit 3;
求出各部门党员的人数。
select 部门号,count(1) as 政治面貌 from worker where 政治面貌='党员' group by 部门号;
统计各部门的工资和平均工资
select 部门号,sum(工资),avg(工资) from worker group by 部门号;
列出总人数大于4的部门号和总人数。
select 部门号 , count(*) as 总人数 from worker group by 部门号 having 总人数>4;