您的位置:首页 > 数据库 > MySQL

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 数据