1.写一个查询显示与 Zlotkey 的 在同一部门的雇员的 last name和 hire date,结果中不包括 Zlotkey

--1.写一个查询显示与 Zlotkey 的 在同一部门的雇员的 last name和 hire date,结果中不包括 Zlotkey
select e.department_id from employees e where e.last_name='Zlotkey'; select e.last_name,e.hire_date
from employees e
where e.last_name <> 'Zlotkey'
and e.department_id=(select e.department_id from employees e where e.last_name='Zlotkey');

2.查询每个部门的平均薪水等级

--查询每个部门的平均薪水等级
select e.avgs,gra.gra,e.did
from job_grades gra,(select avg(e.salary) as avgs,e.department_id as did from employees e where e.department_id is not null group by e.department_id) e
where e.avgs between gra.lowest_sal and gra.highest_sal;

3.创建一个查询显示所有其薪水高于平均薪水的雇员的雇员号和名字。按薪水的升序排序。

--创建一个查询显示所有其薪水高于平均薪水的雇员的雇员号和名字。按薪水的升序排序。
select avg(e.salary) from employees e; select e.salary,e.last_name,e.employee_id
from employees e
where e.salary>(select avg(e.salary) from employees e);

4.写一个查询显示所有工作在有任一雇员的名字中包含一个u的部门的雇员的雇员号和名字。

--写一个查询显示所有工作在有任一雇员的名字中包含一个u的部门的雇员的雇员号和名字。
select e.department_id from employees e where e.last_name like '%u%'; select e.last_name,e.employee_id
from employees e
where e.department_id in(select e.department_id from employees e where e.last_name like '%u%');

5.显示所有部门地点号 (department location ID )是1700的雇员的 last name 、department number和 job ID 。

--显示所有部门地点号 (department location ID )是1700的雇员的 last name 、department number和 job ID 。
select d.department_id from departments d where d.location_id=1700; select e.last_name,e.department_id,e.job_id
from employees e
where e.department_id in(select d.department_id from departments d where d.location_id=1700);

6.显示每个向 King 报告的雇员的名字和薪水.

--显示每个向 King 报告的雇员的名字和薪水.
select e.employee_id from employees e where e.last_name='King'; select e.last_name,e.salary
from employees e
where e.manager_id in(select e.employee_id from employees e where e.last_name='King');

7.显 示 在 Executive 部 门 的 每 个 雇 员 的 department,number 、last name 和 job ID 。

--显 示 在 Executive 部 门 的 每 个 雇 员 的 department,number 、last name 和 job ID 。
select d.department_id from departments d where d.department_name='Executive'; select e.employee_id,e.last_name,e.job_id
from employees e
where e.department_id=(select d.department_id from departments d where d.department_name='Executive');

8.查询显示所有收入高于平均薪水并且工作在有任一雇员的名个字中带有一个u的部门的雇员的 employee numbers、last_names 和salaries 。

--查询显示所有收入高于平均薪水并且工作在有任一雇员的名个字中带有一个u的部门的雇员的 employee numbers、last_names 和salaries 。
select avg(e.salary) from employees e;
select e.department_id from employees e where e.last_name like '%u%'; select es.employee_id,es.last_name,es.salary
from employees es
where es.salary>(select avg(e.salary) from employees e)
and es.department_id in(select e.department_id from employees e where e.last_name like '%u%');

8.显示那些 job ID 与雇员 141 相同的雇员的名字与 job ID。

--显示那些 job ID 与雇员 141 相同的雇员的名字与 job ID。
select e.job_id from employees e where e.employee_id=141; select e.last_name,e.job_id
from employees e
where e.job_id=(select e.job_id from employees e where e.employee_id=141);

9.显示 job ID与雇员 141 相同,并且薪水高于雇员 143 的那些雇员。

--显示 job ID与雇员 141 相同,并且薪水高于雇员 143 的那些雇员。
select e.job_id from employees e where e.employee_id=141
select es.salary from employees es where es.employee_id=143; select ee.salary,ee.last_name
from employees ee
where ee.job_id=(select e.job_id from employees e where e.employee_id=141)
and ee.salary>(select es.salary from employees es where es.employee_id=143);

10.显示所有其最低薪水大于 部门 50 的最低薪水的部门号和最低薪水。

--显示所有其最低薪水大于 部门 50 的最低薪水的部门号和最低薪水。
select min(e.salary) from employees e where e.department_id=50; select min(ee.salary),ee.department_id
from employees ee
where ee.department_id is not null
group by ee.department_id
having min(ee.salary)>(select min(e.salary) from employees e where e.department_id=50)
order by ee.department_id;

11.显示工作岗位不是 IT_PROG 的雇员,并且这些雇员的的薪水少于 IT_PROG 工作岗位的雇员的 ID、名字、工作岗位和薪水。

--显示工作岗位不是 IT_PROG 的雇员,并且这些雇员的的薪水少于 IT_PROG 工作岗位的雇员的 ID、名字、工作岗位和薪水。

select e.salary from employees e where e.job_id='IT_PROG';

select e.employee_id,e.last_name,e.job_id,e.salary
from employees e
where e.job_id <> 'IT_PROG'
and e.salary<any(select e.salary from employees e where e.job_id='IT_PROG')

<ALL 意思是小于最小值。>ALL 意思是大于最大值。

ANY 与 ALL 的区别:

ANY: >ANY 表示至少大于一个值,即大于最小值。

ALL: >ALL 表示大于每一个值,既大于最大值。

数据库Oracle的子查询练习的更多相关文章

  1. Oracle 之——子查询 DDL DML 集合 及其他数据对象

    Oracle 学习笔记(二) 知识概要: 1.子查询 2.集合操作 3.DML语句操作 4.其他数据库对象 1.子查询 查询工资比SCOTT高的员工信息 1  select * 2  from emp ...

  2. 数据库基础(子查询练习、链接查询(join on 、union)及其练习)

    子查询练习一:查询销售部里的年龄大于35岁的人的所有信息 练习二:将haha表中部门的所有数字代码转换为bumen表中的字符串显示 练习三:将haha表中部门的所有数字代码转换为bumen表中的字符串 ...

  3. oracle之子查询、创建用户、创建表、约束

      子查询                                    子查询可以分为单行子查询和多行子查询   单行子查询           [1] 将一个查询的结果作为另外一个查询的条 ...

  4. Oracle 通过子查询批量添加、修改表数据

    1.通过查询快速创建表 create table test1(id,job,mgr,sal) as () ) ---这是一个分页查询 ok,表创建成功 2.通过查询快速创建视图 create or r ...

  5. Oracle【子查询】

    Oracle子查询:当一个查询依赖于另外一个查询的结果的时候,就需要使用子查询.单行子查询 :筛选条件不明确,需要执行一次查询且查询结果只有一个字段且字段值只有一个.注意:where子句中允许出现查询 ...

  6. Oracle之子查询:Top-N问题

    学习了SQL子查询,遇到个Top-N问题,即:加入有张工资表(这里使用Oracle SCOTT用户的emp表),需要查找工资最高的3个员工信息,以下列格式输出: 乍眼一看,这很简单啊,对sal进行排序 ...

  7. MySQL数据库update更新子查询

    比如: ? 1 2 3 4 UPDATE test.tb_vobile a set a.name = '111 ' WHERE a.id = (select max(id) id from test. ...

  8. Oracle Day04 子查询

    1.子查询解决什么问题: 当一个简单的查询查询不到结果的时候,可以使用子查询来丰富查询的条件以达到显示结果的目的. 子查询的格式: 用一个小括号包含,然后在里面写sql语句2.子查询的注意事项: 1) ...

  9. MySQL数据库(11)----使用子查询实现多表查询

    子查询指的是用括号括起来,并嵌入另一条语句里的那条 SELECT 语句.下面有一个示例,它实现的是找出与考试类别('T')相对应的所有考试事件行的 ID,然后利用它们来查找那些考试的成绩: SELEC ...

随机推荐

  1. 算法编程题积累(4)——腾讯笔试"有趣的数字“问题

    本题基本思路:先对原序列进行排序,再根据不同情况采用不同算法. 首先差最大的对数最好求:用最小的数的个数 × 最大的数的个数即可. 接着求差最小的对数: 1.当序列中无重复关键字时:可知最小差必然产生 ...

  2. python的变量内存管理

    一.变量的引用机制 当你在python中定义一个值,如x = 500时,python会在内存中开辟一个小地方用于存储数值. x = 500 #定义一个变量 print(id(x)) #打印该变量的内存 ...

  3. CSS如何修改tr边框属性

    有很多时候,我们都要自定义为表格合并边框,这个只要 table{ border-collapse:collapse; } 就可以了 参数: separate 默认值.边框会被分开.不会忽略border ...

  4. React入门知识点清单

    做前端的一定都知道现在是三大框架--Vue.React.Angular三足鼎立的时代.Vue是公认的最容易入门的,因为它文件结构上有传统的HTML的影子,让刚接触它的前端人员刚到很"亲切&q ...

  5. objc反汇编分析,手工逆向libsystem_blocks.dylib

    上一篇<block函数块为何物?>介绍了在函数中定义的block函数块的反汇编实现,我在文中再三指出__block变量和block函数块自始还都是stack-based的,还不完全适合在离 ...

  6. Nginx 匹配流程一览

    在 nginx server 模块中,location 的定义长被用来匹配一个标准的 URI, 并根据 URI 的不同做出相应的服务方案. nginx location 匹配的优先级 在 locati ...

  7. 你必须知道的容器日志 (1) Docker logs & logging driver

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.监控和日志历来都是系统稳定运行和问题排查的关键,在微服务架构中,数量众多的容器以 ...

  8. vue—自定义指令

    今日分享—自定义指令 需要学习的点: modifiers属性的具体实例就是v-on:click.stop=”handClick” 一样,为指令添加一个修饰符. 全局指令:新建一个newDir.js i ...

  9. JavaScript笔记三

    1.数据类型 - JS中一共分成六种数据类型 - String 字符串 - Number 数值 - Boolean 布尔值 - Null 空值 - Undefined 未定义 - Object 对象 ...

  10. leetcode105 从前序与中序遍历序列构造二叉树

    如何遍历一棵树 有两种通用的遍历树的策略: 宽度优先搜索(BFS) 我们按照高度顺序一层一层的访问整棵树,高层次的节点将会比低层次的节点先被访问到. 深度优先搜索(DFS) 在这个策略中,我们采用深度 ...