尚硅谷MySQL课后练习题笔记

尚硅谷MySQL课后练习题

视频地址:【宋红康】MySQL数据库(mysql安装/基础/高级/优化)_哔哩哔哩_bilibili

数据库资源地址:链接:https://pan.baidu.com/s/1D1mNUa9bTCcED3SothrgpQ 提取码:1328

一、基本的SELECT语句

【题目】
# 1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY
# 2.查询employees表中去除重复的job_id以后的数据
# 3.查询工资大于12000的员工姓名和工资
# 4.查询员工号为176的员工的姓名和部门号
# 5.显示表 departments 的结构,并查询其中的全部数据

1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY

SELECT employee_id , last_name,salary * 12 "ANNUAL SALARY"
FROM employees;

SELECT employee_id,last_name,salary * 12 * (1 + IFNULL(commission_pct,0)) "ANNUAL SALARY"
FROM employees;

2.查询employees表中去除重复的job_id以后的数据

SELECT DISTINCT job_id 
FROM employees;

3.查询工资大于12000的员工姓名和工资

SELECT last_name,salary
FROM employees
WHERE salary > 12000;

4.查询员工号为176的员工的姓名和部门号

SELECT last_name,department_id
FROM employees
WHERE employee_id = 176;

5.显示表 departments 的结构,并查询其中的全部数据

DESC departments;

SELECT * FROM departments;

二、运算符练习

【题目】
# 1.选择工资不在5000到12000的员工的姓名和工资

# 2.选择在20或50号部门工作的员工姓名和部门号

# 3.选择公司中没有管理者的员工姓名及job_id

# 4.选择公司中有奖金的员工姓名,工资和奖金级别

# 5.选择员工姓名的第三个字母是a的员工姓名

# 6.选择姓名中有字母a和k的员工姓名

# 7.显示出表 employees 表中 first_name 以 'e'结尾的员工信息

# 8.显示出表 employees 部门编号在 80-100 之间的姓名、工种

# 9.显示出表 employees 的 manager_id 是 100,101,110 的员工姓名、工资、管理者id

1.选择工资不在5000到12000的员工的姓名和工资

SELECT last_name,salary 
FROM employees 
WHERE salary < 5000 OR salary > 12000;

SELECT last_name,salary 
FROM employees 
WHERE NOT BETWEEN 5000 AND 12000;

2.选择在20或50号部门工作的员工姓名和部门号

SELECT last_name,department_id 
FROM employees 
WHERE department_id = 20 OR department_id = 50;

SELECT last_name,department_id 
FROM employees 
WHERE department_id IN(20, 50);

3.选择公司中没有管理者的员工姓名及job_id

SELECT last_name,job_id 
FROM employees 
WHERE manager_id <=> NULL;

SELECT last_name,job_id 
FROM employees 
WHERE manager_id IS NULL;

4.选择公司中有奖金的员工姓名,工资和奖金级别

SELECT last_name,salary,commission_pct 
FROM employees 
WHERE commission_pct IS NOT NULL;

5.选择员工姓名的第三个字母是a的员工姓名

SELECT last_name 
FROM employees 
WHERE last_name 
LIKE '__a%';

6.选择姓名中有字母a和k的员工姓名

SELECT last_name 
FROM employees 
WHERE last_name LIKE '%a%k%' OR last_name LIKE '%k%a%';

7.显示出表 employees 表中 first_name 以 'e’结尾的员工信息

SELECT employee_id,first_name,last_name 
FROM employees 
WHERE first_name LIKE '%e';

8.显示出表 employees 部门编号在 80-100 之间的姓名、工种

SELECT last_name,job_id 
FROM employees 
WHERE department_id IN(80, 100);

SELECT last_name,job_id 
FROM employees 
WHERE department_id BETWEEN 80 AND 100;

9.显示出表 employees 的 manager_id 是 100,101,110 的员工姓名、工资、管理者id

SELECT last_name,salary,manager_id
FROM employees
WHERE manager_id = 100 
OR manager_id = 101 
OR manager_id = 110;

SELECT last_name,salary,manager_id
FROM employees
WHERE manager_id IN (100,101,110);
上一篇:sql中的join


下一篇:基于.NET6平台开发WebApi(八)—— 添加Autofac支持