admin管理员组文章数量:1794759
MySQL数据库技术 第二版 章末 答案—单元5
MySQL数据库技术 第二版 章末 答案—单元5 以下是我个人所尝试过得答案,若有不正确的地方请告知,谢谢!
由于实在是太多内容了,原谅我省略题目内容
单元5 数据查询 ---- 实训5----P104 1、select语句的基本使用– 1、
SELECT DISTINCT departmentID AS 员工部门号, sex AS 性别 FROM em_copy1;– 2、
SELECT (InCome - OutCome) AS 实际收入 FROM salary;– 3、
SELECT NAME AS 姓名, CASE WHEN sex=0 THEN "女" WHEN sex=1 THEN "男" END AS 性别 FROM employees;– 4、
SELECT Address AS adress, PhoneNumber AS telephone FROM employees;– 5、
SELECT AVG(InCome) AS 员工月收入平均数 FROM salary;– 6、
SELECT SUM(OutCome) AS 员工总支出 FROM salary;– 7、
SELECT Address AS 地址, PhoneNumber AS 电话号码 FROM employees WHERE sex=0;– 8、
SELECT COUNT(employeeID) AS 员工总数 FROM employees;– 9、
SELECT employeeID FROM salary WHERE ( InCome=( SELECT MAX(InCome) FROM salary ) ) OR ( InCome=( SELECT MIN(InCome) FROM salary ) );
2、条件查询
– 1、
SELECT employeeID FROM salary WHERE InCome>2000;– 2、
SELECT NAME, Address, Birthday FROM employees WHERE (Birthday>="1971");– 3、
/*方一*/ SELECT * FROM employees WHERE (WorkYear>=3) AND (sex=1) AND Education IN ("本科", "硕士", "博士"); /*方二*/ SELECT * FROM employees WHERE (WorkYear>=3) AND (sex=1) AND (Education="本科" OR Education="硕士" OR Education="博士") ;– 4、
SELECT NAME, Address, Education FROM employees WHERE employeeID LIKE '%0_';– 5、
SELECT employeeID, InCome FROM salary WHERE InCome BETWEEN 2000 AND 3000;
3、多表查询 USE yggl;
– 1、
-- 1、 ---方一 SELECT departments.DepartmentName, employees.* FROM employees JOIN departments ON ( employees.DepartmentID = departments.DepartmentID ) WHERE (NAME="王林"); -- 1、 ---方二 SELECT d.DepartmentName, e.* FROM employees AS e, departments AS d WHERE ( e.DepartmentID = d.DepartmentID AND NAME="王林" );– 2、
SELECT employees.* FROM employees JOIN departments ON (employees.`DepartmentID`=departments.`DepartmentID`) WHERE departments.`DepartmentName` IN ("财务部", "研发部", "市场部");– 3、
SELECT salary.`InCome` AS "薪水", employees.* FROM employees JOIN salary ON ( employees.`EmployeeID`=salary.`EmployeeID` );– 4、
SELECT NAME AS "姓名", salary.`InCome` AS "薪水" FROM employees JOIN salary /*薪水*/ ON ( employees.`EmployeeID`=salary.`EmployeeID` ) JOIN departments/*部门*/ ON ( employees.`DepartmentID`=departments.`DepartmentID` ) WHERE ( departments.DepartmentName = "研发部" ) AND ( employees.Birthday < '1970' );– 5、
SELECT employees.name AS "姓名", employees.Address AS "住址", CASE WHEN salary.`InCome` < 2000 THEN "低收入" WHEN ( salary.`InCome` >= 2000 AND salary.`InCome` <= 3000) THEN "中等收入" WHEN salary.`InCome` > 3000 THEN "高收入" END AS "收入水平" , salary.`InCome` AS "收入数据化" FROM employees, salary;
4、分类汇总与排序
– 1、
SELECT COUNT(departmentID) AS "人数" FROM employees GROUP BY departmentID;– 2、
SELECT sex, COUNT(sex) AS "人数" FROM employees GROUP BY sex;– 3、
SELECT employees.`DepartmentID`, departmentname AS "部门名称", COUNT(employees.`DepartmentID`) AS "员工人数" FROM departments JOIN employees ON (departments.`DepartmentID` = employees.`DepartmentID`) GROUP BY departmentname HAVING COUNT(*)>2;– 4、
SELECT Education AS "学历", COUNT(*) AS "人数" FROM employees GROUP BY Education;– 5、
-- 5、 --- 年龄越大,出生日期越小 SELECT * FROM employees ORDER BY Birthday ASC;– 6、
SELECT InCome FROM salary ORDER BY InCome ASC;– 7、
SELECT WorkYear, COUNT(*) AS 人数 FROM employees GROUP BY WorkYear ORDER BY 人数 ASC;
感谢观看!
版权声明:本文标题:MySQL数据库技术 第二版 章末 答案—单元5 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686768461a100252.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论