MYSQL基础上机练习题(三) 数据查询
2017-01-07 17:40
726 查看
一、实验目的:
查询数据二、实验内容:
对上一章所输入的数据进行查询三、题目:
查看Employees列表所有数据(知识点:通配符:*)选择Employees列表中教育水平为’本科’的员工号及姓名(知识点:按单个条件查询数据)
选择Employees列表中教育为硕士的人的姓名、性别、工作年限并为查询的列命名中文名(知识点:定义列别名)
计算Employees中的行数(知识点:函数应用:COUNT)
计算Employees中大专的平均工作年龄(知识点:函数应用:AVG)
查询工作年龄最大的员工姓名以及工作年限(知识点:函数应用:MAX)
查询薪酬在3000元以上的人数(知识点:比较运算)
多个判定条件查询:查询教育水平为硕士的女员工(知识点:多个条件查询数据)
(1)使用AND语句查询
(2)使用结果集查询
模糊查询(知识点:模糊查询)
(1)查询Employees表中姓林且两个字名字的员工编号以及姓名
(2)查询Employee表中名字中有林字的员工的编号及姓名
范围查询(知识点:范围查询,包括范围内、范围外)
(1)查询Salary表中薪酬在2000到3000范围的员工编号以及收入
(2)查询Salary表中支出不在100-200范围的员工编号以及支出
多表联合查询(知识点:联合多表查询)
(1) 查找财务部的员工号以及员工姓名
(2)查找财务部以及研发部以外的员工号以及员工姓名
四、代码:
查看Employees列表所有数据(知识点:正则表达:*)SELECT * FROM Employees
2. 选择Employees列表中教育水平为’本科’的员工号及姓名(知识点:按单个条件查询数据)
SELECT EmployeeID, Name FROM Employees WHERE Education = '本科'
3. 选择Employees列表中教育为硕士的人的姓名、性别、工作年限并为查询的列命名中文名(知识点:定义列别名)
SELECT Name AS '姓名', Gender AS '性别', WorkYear AS '工作年限' FROM Employees WHERE Education = '硕士'
4. 计算Employees中的行数(知识点:函数应用:COUNT)
SELECT COUNT(*) FROM Employees
5. 计算Employees中大专的平均工作年龄(知识点:函数应用:AVG)
SELECT AVG(WorkYear) FROM Employees WHERE Education = '大专'
6. 查询工作年龄最大的员工姓名以及工作年限(知识点:函数应用:MAX)
SELECT Name, MAX(WorkYear) FROM Employees
7. 查询薪酬在3000元以上的人数(知识点:比较运算)
SELECT COUNT(InCome) AS '总收入大于3000的人数' FROM Salary WHERE InCome > 3000
8. 多个判定条件查询:查询教育水平为硕士的女员工(知识点:单表多个条件查询数据)
(1)使用AND语句查询
SELECT EmployeeID, Name, Gender, Education FROM Employees WHERE Gender = '0' AND Education = '硕士'
(2)使用结果集查询
SELECT EmployeeID, Name, Gender, Education FROM( SELECT EmployeeID, Name, Gender, Education FROM Employees WHERE Education = '硕士' ) AS Employees_Master WHERE Gender = '0'
9. 模糊查询(知识点:模糊查询)
(1)查询Employees表中姓林且两个字名字的员工编号以及姓名
SELECT EmployeeID, Name FROM Employees WHERE Name LIKE '林_'
(2)查询Employee表中名字中有林字的员工的编号及姓名
SELECT EmployeeID, Name FROM Employees WHERE Name LIKE '%林%'
10. 范围查询(知识点:范围查询,包括范围内、范围外)
(1)查询Salary表中薪酬在2000到3000范围的员工编号以及收入
SELECT EmployeeID, InCome FROM Salary WHERE InCome BETWEEN 2000 AND 3000
(2)查询Salary表中支出不在100-200范围的员工编号以及支出
SELECT EmployeeID, OutCome FROM Salary WHERE OutCome NOT BETWEEN 100 AND 200
11. 多表联合查询(知识点:联合多表查询)
(1) 查找财务部的员工号以及员工姓名
SELECT EmployeeID, Name FROM Employees WHERE departmentID IN ( SELECT DepartmentID FROM Departments WHERE DepartmentName = '财务部')
(2)查找财务部以及研发部以外的员工号以及员工姓名
SELECT EmployeeID, Name FROM Employees WHERE departmentID NOT IN ( SELECT DepartmentID FROM Departments WHERE DepartmentName IN ('财务部','研发部') )
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 解决mysql 开启logbin 导致存储过程报错
- 我是运营,我没有假期
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法