MYSQL基础上机练习题(三) 数据查询

一、实验目的:

查询数据

二、实验内容:

对上一章所输入的数据进行查询

三、题目:

  1. 查看Employees列表所有数据(知识点:通配符:*)
  2. 选择Employees列表中教育水平为’本科’的员工号及姓名(知识点:按单个条件查询数据)
  3. 选择Employees列表中教育为硕士的人的姓名、性别、工作年限并为查询的列命名中文名(知识点:定义列别名)
  4. 计算Employees中的行数(知识点:函数应用:COUNT)
  5. 计算Employees中大专的平均工作年龄(知识点:函数应用:AVG)
  6. 查询工作年龄最大的员工姓名以及工作年限(知识点:函数应用:MAX)
  7. 查询薪酬在3000元以上的人数(知识点:比较运算)
  8. 多个判定条件查询:查询教育水平为硕士的女员工(知识点:多个条件查询数据)
    (1)使用AND语句查询
    (2)使用结果集查询
  9. 模糊查询(知识点:模糊查询)
    (1)查询Employees表中姓林且两个字名字的员工编号以及姓名
    (2)查询Employee表中名字中有林字的员工的编号及姓名
  10. 范围查询(知识点:范围查询,包括范围内、范围外)
    (1)查询Salary表中薪酬在2000到3000范围的员工编号以及收入
    (2)查询Salary表中支出不在100-200范围的员工编号以及支出
  11. 多表联合查询(知识点:联合多表查询)
    (1) 查找财务部的员工号以及员工姓名
    (2)查找财务部以及研发部以外的员工号以及员工姓名

四、代码:

  1. 查看Employees列表所有数据(知识点:正则表达:*)
SELECT * FROM Employees

MYSQL基础上机练习题(三) 数据查询_第1张图片
2. 选择Employees列表中教育水平为’本科’的员工号及姓名(知识点:按单个条件查询数据)

SELECT EmployeeID, Name
FROM Employees
WHERE Education = '本科'

MYSQL基础上机练习题(三) 数据查询_第2张图片
3. 选择Employees列表中教育为硕士的人的姓名、性别、工作年限并为查询的列命名中文名(知识点:定义列别名)

SELECT Name AS '姓名', Gender AS '性别', WorkYear AS '工作年限'
FROM Employees
WHERE Education = '硕士'

MYSQL基础上机练习题(三) 数据查询_第3张图片
4. 计算Employees中的行数(知识点:函数应用:COUNT)

SELECT COUNT(*) FROM Employees

Mysql count函数
5. 计算Employees中大专的平均工作年龄(知识点:函数应用:AVG)

SELECT AVG(WorkYear) 
FROM Employees
WHERE Education = '大专'

Mysql AVG函数
6. 查询工作年龄最大的员工姓名以及工作年限(知识点:函数应用:MAX)

SELECT Name, MAX(WorkYear)
FROM Employees

Mysql MAX函数
7. 查询薪酬在3000元以上的人数(知识点:比较运算)

SELECT COUNT(InCome) AS '总收入大于3000的人数'
FROM Salary
WHERE InCome > 3000

Mysql 比较运算
8. 多个判定条件查询:查询教育水平为硕士的女员工(知识点:单表多个条件查询数据)
(1)使用AND语句查询

SELECT EmployeeID, Name, Gender, Education
FROM Employees
WHERE Gender = '0' AND Education = '硕士'

MYSQL基础上机练习题(三) 数据查询_第4张图片
(2)使用结果集查询

SELECT EmployeeID, Name, Gender, Education
FROM(
SELECT EmployeeID, Name, Gender, Education
FROM Employees
WHERE Education = '硕士'
) AS Employees_Master
WHERE Gender = '0'

MYSQL基础上机练习题(三) 数据查询_第5张图片
9. 模糊查询(知识点:模糊查询)
(1)查询Employees表中姓林且两个字名字的员工编号以及姓名

SELECT EmployeeID, Name
FROM Employees
WHERE Name LIKE '林_'

Mysql 模糊查询
(2)查询Employee表中名字中有林字的员工的编号及姓名

SELECT EmployeeID, Name
FROM Employees
WHERE Name LIKE '%林%'

Mysql 模糊查询
10. 范围查询(知识点:范围查询,包括范围内、范围外)
(1)查询Salary表中薪酬在2000到3000范围的员工编号以及收入

SELECT EmployeeID, InCome
FROM Salary
WHERE InCome BETWEEN 2000 AND 3000

MYSQL基础上机练习题(三) 数据查询_第6张图片
(2)查询Salary表中支出不在100-200范围的员工编号以及支出

SELECT EmployeeID, OutCome
FROM Salary
WHERE OutCome NOT BETWEEN 100 AND 200

MYSQL基础上机练习题(三) 数据查询_第7张图片
11. 多表联合查询(知识点:联合多表查询)
(1) 查找财务部的员工号以及员工姓名

SELECT EmployeeID, Name
FROM Employees
WHERE departmentID IN
(
SELECT DepartmentID
FROM Departments
WHERE DepartmentName = '财务部')

MYSQL基础上机练习题(三) 数据查询_第8张图片
(2)查找财务部以及研发部以外的员工号以及员工姓名

SELECT EmployeeID, Name
FROM Employees
WHERE departmentID NOT IN
(
SELECT DepartmentID
FROM Departments
WHERE DepartmentName IN
('财务部','研发部')
)

MYSQL基础上机练习题(三) 数据查询_第9张图片

你可能感兴趣的:(SQL练习)