【MySQL】对yggl表的查询综合练习 |
您所在的位置:网站首页 › 分类汇总统计不同性别员工数量的数据 › 【MySQL】对yggl表的查询综合练习 |
对YGGL数据库完成以下查询: 目录 原表 Select 语句的基本使用 条件查询 多表查询 分类汇总与排序 原表1.查询employees表的员工部门号和性别,要求消除重复行。 SELECT DISTINCT 员工部门号,性别 FROM employees;2.计算每个雇员的实际收入(实际收入=收入-支出) SELECT 员工编号,收入-支出 AS 实际收入 FROM salary;3.查询employees表中员工的姓名和性别,要求性别值为1时显示为“男”,为0时显示为“女”。 SELECT 姓名, CASE WHEN 性别=1 THEN '男' WHEN 性别=0 THEN '女' END AS '性别' FROM employees;4.查询每个雇员的地址和电话号码,显示的列标题为adress、telephone SELECT 地址 AS address,电话号码 AS telephone FROM employees;5.计算Salary表中员工月收入的平均数。 SELECT AVG(收入) AS 月收入平均数 FROM salary;6.计算所有员工的总支出。 SELECT SUM(支出) AS 员工总支出 FROM salary;7.显示女雇员的地址和电话号码。 SELECT 地址,电话号码 FROM employees WHERE 性别='0';8.计算员工总数。 SELECT COUNT(员工编号) AS 员工总数 FROM employees;9.显示最高收入和最低收入的员工的员工编号。 SELECT 员工编号 AS 最高收入员工编号 FROM salary WHERE 收入=(SELECT MAX(收入) FROM salary); SELECT 员工编号 AS 最低收入员工编号 FROM salary WHERE 收入=(SELECT MIN(收入) FROM salary);1.显示月收入高于2000元的员工编号。 SELECT 员工编号 FROM salary WHERE 收入 > 2000;2.查询1970年以后出生的员工的姓名和地址。 SELECT 姓名,地址 FROM employees WHERE 出生日期 > ‘1970-12-31’;3.显示工作年限3年以上(含3年)、学历在本科以上(含本科)的男性员工的信息 SELECT * FROM employees WHERE 工作年限 >=3 AND 学历 IN ('本科','硕士') AND 性别=1;4.查找员工编号中倒数第2个数字为0的姓名、地址和学历。 SELECT 姓名,地址,学历 FROM employees WHERE 员工编号 LIKE '%0_';5.查询月收入在2000元-3000元的员工编号。 SELECT 员工编号 FROM salary WHERE 收入 BETWEEN 2000 AND 3000 ;1.查询“王林”的基本情况和所工作的部门名称。 SELECT employees.*,departments.部门名称 FROM employees JOIN departments ON employees.员工部门号=departments.部门编号 WHERE employees.姓名='王林';2.查询财务部、研发部、市场部的员工信息。 SELECT employees.*,departments.部门名称 FROM employees JOIN departments ON employees.员工部门号=departments.部门编号 WHERE departments.部门名称 IN ('财务部','研发部','市场部');
4.查询研发部在1970年以前出生的员工姓名和薪水情况。 SELECT e.姓名,s.* FROM employees e,salary s,departments d WHERE e.员工编号=s.员工编号 AND e.员工部门号=d.部门编号 AND e.出生日期 < '1970' AND 部门名称='研发部';
5.查询员工的姓名、住址和收入水平,要求2000元以下显示为“低收入”,元2000~3000元显示为“中等收入”,3000元以上时显示为“高收入”。 SELECT e.姓名,e.地址, CASE WHEN 收入 < '2000' THEN '低收入' WHEN 收入 BETWEEN '2000' AND '3000' THEN '中等收入' WHEN 收入 > '3000' THEN '高收入' END AS '收入等级' FROM employees e,salary s WHERE e.员工编号=s.员工编号;1.按部门列出该部门工作的员工人数。 SELECT count(*),d.部门编号 FROM employees e JOIN departments d ON e.员工部门号=d.部门编号 GROUP BY 员工部门号;2.分别统计男性员工和女性员工人数。 SELECT count(*), CASE WHEN 性别='1' THEN '男' WHEN 性别='0' THEN '女' END AS '性别' FROM employees e GROUP BY 性别;3.查找雇员数超过2人的部门名称和员工数量。 SELECT COUNT (*),d.部门名称 FROM employees e JOIN departments d ON e.员工部门号=d.部门编号 GROUP BY 员工部门号 HAVING COUNT(e.员工部门号) > 2;4.按员工学历分组统计各种学历人数。 SELECT COUNT (*),e.学历 FROM employees e GROUP BY 学历;5.将员工信息按出生日期从大到小排序。 SELECT * FROM employees ORDER BY 出生日期 DESC;6将员工薪水按收入多少从小到大排列。 SELECT * FROM salary ORDER BY 收入;7.按员工的工作年限分组,统计各个工作年限的人数,并按人数从小到大排序。 SELECT COUNT(*),employees.工作年限 FROM employees GROUP BY 工作年限 ORDER BY COUNT(工作年限); |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |