当前位置:网站首页>排序与分页,多表查询课后练习
排序与分页,多表查询课后练习
2022-07-28 05:20:00 【大数据小理】
#第五章排序与分页的课后练习
#第五章排序与分页课后练习
#1.查询员工的姓名和部门号和年薪,按年薪降序,按姓名升序显示
SELECT salary*12 AS’年薪’,last_name,department_id
FROM employees
ORDER BY '年薪’DESC,last_name ASC;
#2.选择工资不在8000到17000的员工姓名和工资,按工资降序,显示第21到40位置的数据
SELECT last_name,salary
FROM employees
WHERE salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC
LIMIT 20,20
#3.查询邮箱中包含e的员工信息,并且先按邮箱的字节数降序,再按部门号升序
SELECT employee_id,last_name,email,department_id
FROM employees
#where email like’%e%’
WHERE email REGEXP’[e]’
ORDER BY LENGTH(email) DESC,department_id ASC;
第六章多表查询课后练习
【题目】
1.显示所有员工的姓名,部门号和部门名称。 有所有的字眼出现,是外连接问题
SELECT e.last_name,e.department_id,d.department_name
FROM employees e LEFT JOIN departments d
ON e.department_id=d.department_id;
2.查询90号部门员工的job_id和90号部门的location_id
SELECT e.job_id,d.location_id
FROM employees e JOIN departments d
ON e.department_id=d.department_id
WHERE d.department_id=90;
3.选择所有有奖金的员工的 last_name , department_name , location_id , city
SELECT e.last_name , e.commission_pct,d.department_name , d.location_id , l.city
FROM employees e LEFT JOIN departments d
ON e.department_id=d.department_id
LEFT JOIN locations l
ON d.location_id=l.location_id
WHERE e.commission_pctIS NOT NULL;
4.选择city在Toronto工作的员工的 last_name , job_id , department_id , department_name
SELECT e.last_name , e.job_id , e.department_id , d.department_name,l.city
FROM employees e
JOIN departments d
ON e.department_id=d.department_id
JOIN locations l
ON d.location_id=l.location_id
WHERE l.city=‘Toronto’;
5.查询员工所在的部门名称、部门地址、姓名、工作、工资,其中员工所在部门的部门名称为’Executive’
SELECT d.department_name,l.street_address,e.last_name,e.job_id,e.salary
FROM employees e
JOIN departments d
ON e.department_id=d.department_id
JOIN locations l
ON d.location_id=l.location_id
WHERE d.department_name=‘Executive’;
#有的部门没有员工但应该显示其结构,可能有的部门在不同城市都有location_id,考虑全面的话,把join改成left join
6.选择指定员工的姓名,员工号,以及他的管理者的姓名和员工号
#结果类似于下面的格式, 其实就是起别名的方式来输出,再加上表的自连接,领导id与员工id
employees Emp# manager Mgr#
kochhar 101 king 100
SELECT emp.last_name’employees’,emp.employee_id’Emp#‘,mgr.last_name’manager’,mgr.employee_id’Mgr#’
FROM employees emp JOIN employees mgr
ON emp.manager_id=mgr.employee_id;
7.查询哪些部门没有员工
SELECT d.department_id
FROM departments d LEFT JOIN employees e
ON d.department_id=e.department_id
WHERE e.department_idIS NULL;
#本题目也可以用子查询来实现
SELECT department_id
FROM departments d
WHERE NOT EXISTS (
SELECT *
FROM employees e
WHERE e.department_id = d.department_id
)
8. 查询哪个城市没有部门
SELECT l.location_id,l.city
FROM locations l LEFT JOIN departments d
ON l.location_id=d.location_id
WHERE d.location_id IS NULL;
#如果不放心上面语句查询的可以做一下检查
SELECT department_id
FROM departments
WHERE department_id IN(1000,1100,1200,1300,1600);
9. 查询部门名为 Sales 或 IT 的员工信息
SELECT e.employee_id,e.last_name,e.department_id
FROM employees e JOIN departments d
ON e.department_id=d.department_id
WHERE d.department_nameIN (‘Sales’,‘IT’);
边栏推荐
- ArcMap中的距离工具条(Distance)
- (PHP graduation project) obtained based on PHP student homework submission management system
- CVE_2017_11882漏洞复现(Metasploit开启NT远程桌面添加账户)
- CMD and NPM basic commands
- Tornado初识
- 书籍-孙子兵法
- 基于php心理健康服务系统获取(php毕业设计)
- [uni app] the use of scroll into view in uni app
- Distance toolbar in ArcMap (distance)
- 操作文档树
猜你喜欢
随机推荐
Flex elastic box item properties
CTF常见加密方式JS
Review of metallurgical physical chemistry -- Fundamentals of metallurgical reaction kinetics and characteristics of multiphase reaction kinetics
Microsoft Edge浏览器插件(1)
Zotero——一款文献管理工具
Help document making based on easy CHM and vs
结果填空 第39级台阶(递归*C语言)
(php毕业设计)基于php学生日常行为管理系统获取
flex弹性盒子
es6新增--->对象(Object)
话题功能实现
发售预告:7月22日“大暑”发售,【传统国风廿四节气】夏季发售完毕。
Distance toolbar in ArcMap (distance)
DOM——页面的渲染、style属性操作、预加载与懒加载、防抖与节流
Screenshot transferred to the background
JS数组的方法大全
正则表达式
Microsoft Edge浏览器插件(2)
(php毕业设计)基于php用户在线投稿管理系统获取
操作文档树









