MySQL相关知识查询表中内容(第二次作业)
1.建立相应库和相应表;
2.插入数据;
3.完成查询;
(1)、显示所有职工的基本信息。
select * from t_worker;
(2)、查询所有职工所属部门的部门号,不显示重复的部门号。
select department_id '部门号' from t_worker;
(3)、求出所有职工的人数。
select count(worker_id) as '职工' from t_worker;
(4)、列出最高工和最低工资。
select max(wages) as '最高工资', min(wages) as'最低工资' from t_worker;
(5)、列出职工的平均工资和总工资。
select avg(wages) as '平均工资', sum(wages) as'总工资' from t_worker;
(6)、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。
create table workerdate comment '工作日期表' as select worker_id,name,worker_date from t_worker;
7)、显示所有党员的年龄。
select (year(now()) - year(borth_date)) as '年龄' from t_worker where politics = '党员';
8)、列出工资在4000-8000之间的所有职工姓名。
select wages as '工资',name as'职工姓名' from t_worker where wages>4000 and wages<8000;
9)、列出所有孙姓和李姓的职工姓名。
select name '职工姓名' from t_worker where name like '孙%' or name like '李%';
10)、列出所有部门号为102和103且不是党员的职工号、姓名。
select name '职工姓名', worker_id '职工号' from t_worker where (department_id=102 or department_id=103) or politics='党员';
(11)、将职工表t_worker中的职工按出生的先后顺序排序。
select name '职工姓名',borth_date '年龄' from t_worker order by borth_date;
(12)、显示工资最高的前3名职工的职工号和姓名。
select name '职工姓名',worker_id '职工号' from t_worker order by wages limit 3;
(13)、求出各部门党员的人数。
select count(politics) as '职工', department_id from t_worker where politics = '党员' group by department_id;
(14)、统计各部门的工资和平均工资并保留2位小数
select sum(wages) '总工资',round(avg(wages),2) '平均工资',department_id from t_worker group by department_id ;
(15)、列出总人数大于等于3的部门号和总人数。
select department_id'部门号',count(worker_id)'工作号' from t_worker group by department_id having count(worker_id)>=3;
4.实验总结:
1. 对My SQL 语句的使用更加熟练,从数据库表的创建、数据插入到各类复杂查询,能够独立完成并理解每一步的作用。
2. 深刻认识到 MySQL 语法的严谨性,一个小小的拼写或符号错误都可能导致语句执行失败,培养了细心、严谨的编程习惯。
3. 体会到 MySQL 在数据管理与分析中的强大功能,通过简洁的语句就能实现对大量数据的查询、统计等操作,为后续更复杂的数据库应用打下了坚实基础。