经典查询练手第五篇

2024-08-30 22:08
文章标签 查询 经典 练手 第五篇

本文主要是介绍经典查询练手第五篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--经典查询练手第五篇


HR@PROD2> desc EMPLOYEESName						       Null?	Type----------------------------------------------------- -------- ------------------------------------EMPLOYEE_ID					       NOT NULL NUMBER(6)FIRST_NAME							VARCHAR2(20)LAST_NAME					       NOT NULL VARCHAR2(25)EMAIL						       NOT NULL VARCHAR2(25)PHONE_NUMBER							VARCHAR2(20)HIRE_DATE					       NOT NULL DATEJOB_ID 					       NOT NULL VARCHAR2(10)SALARY 							NUMBER(8,2)COMMISSION_PCT 						NUMBER(2,2)MANAGER_ID							NUMBER(6)DEPARTMENT_ID							NUMBER(4)HR@PROD2> desc DEPARTMENTS Name						       Null?	Type----------------------------------------------------- -------- ------------------------------------DEPARTMENT_ID					       NOT NULL NUMBER(4)DEPARTMENT_NAME				       NOT NULL VARCHAR2(30)MANAGER_ID							NUMBER(6)LOCATION_ID							NUMBER(4)

1. 哪些部门的人数比90 号部门的人数多。
2. Den(FIRST_NAME)、Raphaely(LAST_NAME)的领导是谁(非关联子查询)。
3. Den(FIRST_NAME)、Raphaely(LAST_NAME) 领导谁(非关联子查询)。
4. Den(FIRST_NAME)、Raphaely(LAST_NAME) 的领导是谁(关联子查询)。
5. Den(FIRST_NAME)、Raphaely(LAST_NAME) 领导谁(关联子查询)。
6. 列出在同一部门共事,入职日期晚但工资高于其他同事的员工:名字、工资、入职日期(关联子查询)。
7. 哪些员工跟Den(FIRST_NAME)、Raphaely(LAST_NAME)不在同一个部门(非关联子查询)。
8. 哪些员工跟Den(FIRST_NAME)、Raphaely(LAST_NAME)不在同一个部门(关联子查询)。
9. Finance部门有哪些职位(非关联子查询)。
10. Finance部门有哪些职位(关联子查询)


1. 哪些部门的人数比90号部门的人数多。
HR@PROD2> select department_id,count(*) 
from employees 
group by department_id
having count(*) > (select count(*) from employees where department_id=90);   DEPARTMENT_ID	COUNT(*)
------------- ----------100	       630	       650	      4580	      3460	       52. Den(FIRST_NAME)、Raphaely(LAST_NAME)的领导是谁(非关联子查询)。
HR@PROD2> select first_name||' '||last_name name 
from employees 
where employee_id in (select manager_id from employees where first_name='Den' and last_name='Raphaely');   NAME
----------------------------------------------
Steven King3. Den(FIRST_NAME)、Raphaely(LAST_NAME) 领导谁(非关联子查询)。
HR@PROD2> select first_name||' '||last_name name
from employees
where manager_id in (select employee_id from employees where first_name='Den' and last_name='Raphaely');  NAME
----------------------------------------------
Alexander Khoo
Shelli Baida
Sigal Tobias
Guy Himuro
Karen Colmenares4. Den(FIRST_NAME)、Raphaely(LAST_NAME) 的领导是谁(关联子查询)。
HR@PROD2> SELECT FIRST_NAME || ' ' || LAST_NAME
FROM EMPLOYEES EMP1
WHERE EXISTS (
SELECT 1 FROM EMPLOYEES EMP2
WHERE FIRST_NAME = 'Den'
AND LAST_NAME = 'Raphaely'
AND EMP2.MANAGER_ID = EMP1.EMPLOYEE_ID);  FIRST_NAME||''||LAST_NAME
----------------------------------------------
Steven King5. Den(FIRST_NAME)、Raphaely(LAST_NAME) 领导谁(关联子查询)。
HR@PROD2> SELECT FIRST_NAME || ' ' || LAST_NAME
FROM EMPLOYEES EMP1
WHERE EXISTS (
SELECT 1 FROM EMPLOYEES EMP2
WHERE FIRST_NAME = 'Den'
AND LAST_NAME = 'Raphaely'
AND EMP2.EMPLOYEE_ID = EMP1.MANAGER_ID); FIRST_NAME||''||LAST_NAME
----------------------------------------------
Alexander Khoo
Shelli Baida
Sigal Tobias
Guy Himuro
Karen Colmenares6. 列出在同一部门共事,入职日期晚但工资高于其他同事的员工:名字、工资、入职日期(关联子查询)。
HR@PROD2> SELECT FIRST_NAME||' '||LAST_NAME NAME,SALARY,HIRE_DATE
FROM EMPLOYEES E1 
WHERE EXISTS(
SELECT 1 FROM EMPLOYEES E2
WHERE  E1.HIRE_DATE>E2.HIRE_DATE 
AND E1.SALARY>E2.SALARY
AND E1.DEPARTMENT_ID=E2.DEPARTMENT_ID);  2    3    4    5    6    7  NAME						   SALARY HIRE_DATE
---------------------------------------------- ---------- ---------
Girard Geoni					     2800 03-FEB-08
Kevin Mourgos					     5800 16-NOV-07
Steven King					    24000 17-JUN-03
Bruce Ernst					     6000 21-MAY-07
Alexander Hunold				     9000 03-JAN-06
Nancy Greenberg 				    12008 17-AUG-02
Jose Manuel Urman				     7800 07-MAR-06
Shelli Baida					     2900 24-DEC-05
Adam Fripp					     8200 10-APR-05
Matthew Weiss					     8000 18-JUL-04
Jennifer Dilly					     3600 13-AUG-05
Julia Dellinger 				     3400 24-JUN-06
Laura Bissot					     3300 20-AUG-05
Shanta Vollman					     6500 10-OCT-05
Vance Jones					     2800 17-MAR-07
Anthony Cabrio					     3000 07-FEB-07
Randall Perkins 				     2500 19-DEC-07
Martha Sullivan 				     2500 21-JUN-07
Douglas Grant					     2600 13-JAN-08
Donald OConnell 				     2600 21-JUN-07
Kevin Feeney					     3000 23-MAY-06
Alana Walsh					     3100 24-APR-06
Samuel McCain					     3200 01-JUL-06
Timothy Gates					     2900 11-JUL-06
Jean Fleaur					     3100 23-FEB-06
Winston Taylor					     3200 24-JAN-06
Michael Rogers					     2900 26-AUG-06
Britney Everett 				     3900 03-MAR-05
Kelly Chung					     3800 14-JUN-05
Alexis Bull					     4100 20-FEB-05
Randall Matos					     2600 15-MAR-06
John Seo					     2700 12-FEB-06
Stephen Stiles					     3200 26-OCT-05
Mozhe Atkinson					     2800 30-OCT-05
Irene Mikkilineni				     2700 28-SEP-06
Julia Nayer					     3200 16-JUL-05
Hazel Philtanker				     2200 06-FEB-08
Ki Gee						     2400 12-DEC-07
Steven Markle					     2200 08-MAR-08
Sarah Bell					     4000 04-FEB-04
Nandita Sarchand				     4200 27-JAN-04
Lisa Ozer					    11500 11-MAR-05
Clara Vishney					    10500 11-NOV-05
Eleni Zlotkey					    10500 29-JAN-08
Gerald Cambrault				    11000 15-OCT-07
Alberto Errazuriz				    12000 10-MAR-05
Tayler Fox					     9600 24-JAN-06
Harrison Bloom					    10000 23-MAR-06
Danielle Greene 				     9500 19-MAR-07
Jack Livingston 				     8400 23-APR-06
Mattea Marvins					     7200 24-JAN-08
Ellen Abel					    11000 11-MAY-04
Karen Partners					    13500 05-JAN-05
John Russell					    14000 01-OCT-04
Peter Tucker					    10000 30-JAN-05
David Bernstein 				     9500 24-MAR-05
Jonathon Taylor 				     8600 24-MAR-06
Alyssa Hutton					     8800 19-MAR-05
Peter Hall					     9000 20-AUG-05
Christopher Olsen				     8000 30-MAR-06
Elizabeth Bates 				     7300 24-MAR-07
William Smith					     7400 23-FEB-07
Nanette Cambrault				     7500 09-DEC-06
Sundar Ande					     6400 24-MAR-08
David Lee					     6800 23-FEB-0865 rows selected.7. 哪些员工跟Den(FIRST_NAME)、Raphaely(LAST_NAME)不在同一个部门(非关联子查询)。
HR@PROD2> SELECT FIRST_NAME||' '||LAST_NAME NAME
FROM EMPLOYEES E1
WHERE DEPARTMENT_ID <> (
SELECT DEPARTMENT_ID
FROM EMPLOYEES E2
WHERE FIRST_NAME='Den' and LAST_NAME='Raphaely');  NAME
----------------------------------------------
Ellen Abel
Sundar Ande
Mozhe Atkinson
David Austin
Hermann Baer
Amit Banda
Elizabeth Bates
Sarah Bell
David Bernstein
Laura Bissot
Harrison Bloom
Alexis Bull
Anthony Cabrio
Gerald Cambrault
Nanette Cambrault
John Chen
Kelly Chung
Curtis Davies
Lex De Haan
Julia Dellinger
Jennifer Dilly
Louise Doran
Bruce Ernst
Alberto Errazuriz
Britney Everett
Daniel Faviet
Pat Fay
Kevin Feeney
Jean Fleaur
Tayler Fox
Adam Fripp
Timothy Gates
Ki Gee
Girard Geoni
William Gietz
Douglas Grant
Nancy Greenberg
Danielle Greene
Peter Hall
Michael Hartstein
Shelley Higgins
Alexander Hunold
Alyssa Hutton
Charles Johnson
Vance Jones
Payam Kaufling
Janette King
Steven King
Neena Kochhar
Sundita Kumar
Renske Ladwig
James Landry
David Lee
Jack Livingston
Diana Lorentz
Jason Mallin
Steven Markle
James Marlow
Mattea Marvins
Randall Matos
Susan Mavris
Samuel McCain
Allan McEwen
Irene Mikkilineni
Kevin Mourgos
Julia Nayer
Donald OConnell
Christopher Olsen
TJ Olson
Lisa Ozer
Karen Partners
Valli Pataballa
Joshua Patel
Randall Perkins
Hazel Philtanker
Luis Popp
Trenna Rajs
Michael Rogers
John Russell
Nandita Sarchand
Ismael Sciarra
John Seo
Sarath Sewall
Lindsey Smith
William Smith
Stephen Stiles
Martha Sullivan
Patrick Sully
Jonathon Taylor
Winston Taylor
Peter Tucker
Oliver Tuvault
Jose Manuel Urman
Peter Vargas
Clara Vishney
Shanta Vollman
Alana Walsh
Matthew Weiss
Jennifer Whalen
Eleni Zlotkey100 rows selected.8. 哪些员工跟Den(FIRST_NAME)、Raphaely(LAST_NAME)不在同一个部门(关联子查询)。
HR@PROD2> SELECT FIRST_NAME||' '||LAST_NAME NAME
FROM EMPLOYEES E1
WHERE NOT EXISTS(
SELECT 1
FROM EMPLOYEES E2
WHERE E2.FIRST_NAME='Den' and E2.LAST_NAME='Raphaely' AND E1.DEPARTMENT_ID=E2.DEPARTMENT_ID);   NAME
----------------------------------------------
Kimberely Grant
Lex De Haan
Neena Kochhar
Steven King
Pat Fay
Michael Hartstein
Diana Lorentz
Valli Pataballa
David Austin
Bruce Ernst
Alexander Hunold
Jennifer Whalen
Hermann Baer
Charles Johnson
Jack Livingston
Jonathon Taylor
Alyssa Hutton
Ellen Abel
Sundita Kumar
Elizabeth Bates
William Smith
Tayler Fox
Harrison Bloom
Lisa Ozer
Amit Banda
Sundar Ande
David Lee
Mattea Marvins
Danielle Greene
Clara Vishney
Sarath Sewall
Louise Doran
Lindsey Smith
Allan McEwen
Patrick Sully
Janette King
Oliver Tuvault
Nanette Cambrault
Christopher Olsen
Peter Hall
David Bernstein
Peter Tucker
Eleni Zlotkey
Gerald Cambrault
Alberto Errazuriz
Karen Partners
John Russell
William Gietz
Shelley Higgins
Kevin Feeney
Alana Walsh
Vance Jones
Samuel McCain
Britney Everett
Sarah Bell
Randall Perkins
Timothy Gates
Jennifer Dilly
Kelly Chung
Anthony Cabrio
Julia Dellinger
Alexis Bull
Nandita Sarchand
Girard Geoni
Martha Sullivan
Jean Fleaur
Winston Taylor
Peter Vargas
Randall Matos
Curtis Davies
Trenna Rajs
Joshua Patel
John Seo
Stephen Stiles
Renske Ladwig
Hazel Philtanker
Ki Gee
Michael Rogers
Jason Mallin
TJ Olson
James Marlow
Mozhe Atkinson
Laura Bissot
Steven Markle
James Landry
Irene Mikkilineni
Julia Nayer
Kevin Mourgos
Shanta Vollman
Payam Kaufling
Adam Fripp
Matthew Weiss
Douglas Grant
Donald OConnell
Luis Popp
Jose Manuel Urman
Ismael Sciarra
John Chen
Daniel Faviet
Nancy Greenberg
Susan Mavris101 rows selected.9. Finance部门有哪些职位(非关联子查询)。
HR@PROD2> SELECT DISTINCT JOB_ID FROM EMPLOYEES
WHERE DEPARTMENT_ID = (
SELECT DEPARTMENT_ID FROM DEPARTMENTS
WHERE DEPARTMENT_NAME = 'Finance');  JOB_ID
----------
FI_ACCOUNT
FI_MGR10. Finance部门有哪些职位(关联子查询)
HR@PROD2> SELECT DISTINCT JOB_ID FROM EMPLOYEES
WHERE EXISTS(
SELECT 1 FROM DEPARTMENTS
WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID
AND DEPARTMENTS.DEPARTMENT_NAME = 'Finance');  JOB_ID
----------
FI_ACCOUNT
FI_MGR


这篇关于经典查询练手第五篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122060

相关文章

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询