初学SQL语句练习2
-- 子查询
--单行子查询
-- 查询出所有比雇员姓名为“CLARK ”工资高的员工的信息
SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME ='CLARK');
-- 查询工资高于平均工资的雇员名字和工资。
SELECT ENAME,SAL FROM EMP
WHERE SAL >(SELECT ROUND(AVG(SAL)) FROM EMP);
--查询和 SCOTT 同一部门且比他工资低的雇员名字和工资。
SELECT ENAME,SAL FROM EMP
WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE ENAME = 'SCOTT')
AND SAL <(SELECT SAL FROM EMP WHERE ENAME = 'SCOTT');
-- 查询职务和 SCOTT 相同,比 SCOTT 雇佣时间早的雇员信息
SELECT * FROM EMP
WHERE JOB = (SELECT JOB FROM EMP WHERE ENAME = 'SCOTT')
AND HIREDATE <(SELECT HIREDATE FROM EMP WHERE ENAME = 'SCOTT');
-- 查询工资比 SCOTT 高或者雇佣时间比 SCOTT 早的雇员的编号和名字
SELECT EMPNO,ENAME FROM EMP
WHERE SAL >(SELECT SAL FROM EMP WHERE ENAME = 'SCOTT')
OR HIREDATE <(SELECT HIREDATE FROM EMP WHERE ENAME ='SCOTT');
--多行子查询
-->all() 表示匹配子查询结果所有值进行比较
-->=<any() 表示匹配子查询结果中的任意一个值
--in() 表示匹配子查询结果中的任意一个值
--当any()前添加=号 那么和in()相同的意思
-- 查询工资低于任何一个职务是“ CLERK ”的工资的雇员信息。
--1.获取工作为CLERK的员工工资
SELECT * FROM EMP WHERE SAL < ALL(SELECT SAL FROM EMP WHERE JOB = 'CLERK');
-- 查询工资比所有的“ SALESMAN ”都高的雇员的编号、名字和工资。
--1.获取SALESMAN的工资
--1)双击SQL行,F8执行
--2)按home键 shift+end 选中单行 F8执行
--1250 1600
SELECT EMPNO,ENAME,SAL FROM EMP WHERE SAL >ALL(SELECT SAL FROM EMP WHERE JOB ='SALESMAN');
-- 查询部门 20 中职务同部门 10 的雇员一样的雇员信息。
--1.获取10号部门员工的工种
SELECT * FROM EMP WHERE JOB =ANY(SELECT JOB FROM EMP WHERE DEPTNO = 10) AND DEPTNO = 20;
-- 查询在雇员中有哪些人是领导
--1.领导的雇员编号
SELECT * FROM EMP WHERE EMPNO IN(SELECT DISTINCT MGR FROM EMP WHERE MGR IS NOT NULL);
-- 找出部门编号为 20 的所有员工中收入最高的职员
--1.获取20号部门的所有员工最高工资
SELECT * FROM EMP WHERE SAL =(SELECT MAX(SAL) FROM EMP WHERE DEPTNO = 20) AND DEPTNO = 20;
-- 查询每个部门平均薪水的等级
-- 可以将子查询作为一张表格,实现多表关联查询
--SQL语句执行过程:from-->where -->group by --->having --->select --->order by
--SELECT ROUND(AVG(SAL)) AVG_SAL FROM EMP WHERE AVG_SAL=2073; --报错
--1.获取每个部门的平均薪水
SELECT T.DEPTNO,S.GRADE
FROM (SELECT DEPTNO,ROUND(AVG(SAL)) AVG_SAL FROM EMP GROUP BY DEPTNO) T,SALGRADE S
WHERE T.AVG_SAL BETWEEN S.LOSAL AND S.HISAL;
-- 查询部门的详细信息及部门平均工资和等级
--1.获取部门平均工资
SELECT D.*,T2.AVG_SAL,T2.GRADE
FROM DEPT D ,
(SELECT T.DEPTNO,S.GRADE,T.AVG_SAL
FROM (SELECT DEPTNO,ROUND(AVG(SAL)) AVG_SAL FROM EMP GROUP BY DEPTNO) T,SALGRADE S
WHERE T.AVG_SAL BETWEEN S.LOSAL AND S.HISAL) T2
WHERE D.DEPTNO = T2.DEPTNO(+);
初学SQL语句练习2的更多相关文章
- 初学SQL语句练习1
--[1 ]查询出每个月倒数第三天受雇的所有员工SELECT * FROM EMP WHERE HIREDATE=LAST_DAY(HIREDATE)-2; --[2 ]找出早于30 年前受雇的员工S ...
- 【初学Java学习笔记】SQL语句调优
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认 ...
- Oracle行转列、列转行的Sql语句总结
多行转字符串 这个比较简单,用||或concat函数可以实现 SQL Code 12 select concat(id,username) str from app_userselect i ...
- SQL语句之行操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...
- Oracle ------ SQLDeveloper中SQL语句格式化快捷键
Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...
- SQL语句优化
(1) 选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...
随机推荐
- 第38次Scrum会议(12/4)【欢迎来怼】
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/12/4 17:50~18:20,总计30min. 地点 ...
- 第十章I/O
系统级i/o 开始进程时的三个标准: 标准输入(描述符0):STDIN_FILENO 标准输出(描述符1):STDOUT_FILENO 标准错误(描述符2):STDERR_FILENO 文件位置: 从 ...
- HDU 4418 Time travel 期望dp+dfs+高斯消元
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4418 Time travel Time Limit: 2000/1000 MS (Java/Othe ...
- The last time the sprint(最后一个冲刺)
经过一两个月的努力,我们终于是做出来了一点东西,从一开始接触这个项目开始,从完全不知道怎么去入手到跌跌碰碰,再到现在可以拿出来一点东西给别人看,我觉得很开心,或许我的这个成品在别人眼中并不算是什么,但 ...
- 【CS231N】1、图像分类
一.知识点 1. 计算机识别物体面临的困难 视角变化(Viewpoint variation):同一个物体,摄像机可以从多个角度来展现. 大小变化(Scale variation):物体可视的大小通常 ...
- grunt入门讲解5:创建插件,安装Grunt以及常见问题
创建插件 创建插件主要有以下几个步骤: (1)通过 npm install -g grunt-init 命令安装 grunt-init .(2)通过 git clone git://github.co ...
- tomcat文件中server.xml 实例说明
<?xml version='1.0' encoding='utf-8'?> # 这是server类, 指定一个tomcat的应用实例 <Server port="80 ...
- Beta阶段DAY3
一.提供当天站立式会议照片一张 二.每个人的工作 1.讨论项目每个成员的昨天进展 刘阳航:尝试改进UI,美化界面. 林庭亦:调整难度设置. 郑子熙:尝试改进UI,美化界面. 陈文俊:调整难度设置. 2 ...
- 关于idea使用快捷键复制一行代码,屏幕倒置处理办法
在idea里面设置使用eclipse的Keymap键盘布局,复制一行代码的快捷键是[ctrl+alt+down],但是在使用后发现屏幕倒置了,原因是该快捷键和显卡快捷键冲突了,处理办法如下图,关闭显卡 ...
- [转帖]通俗解释 AWS 云服务每个组件的作用
你有听说过 ContainerCache,ElastiCast 和 QR72 这些 AWS 的新服务吗? 没有就对了,这些都是我编的:) 不过,AWS 有 50 多个服务,从名称也不能看出这些服务是做 ...