oracle多表查询和子查询练习
--1.列出至少有三个员工的所有部门和部门信息。
SELECT D.DEPTNO, D.DNAME, D.LOC, T.COUNTS
FROM DEPT D, (SELECT DEPTNO, COUNT(*) COUNTS FROM EMP GROUP BY DEPTNO) T
WHERE D.DEPTNO = T.DEPTNO
AND T.COUNTS >= 3;
--2.列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称
SELECT E.EMPNO, E.ENAME, D.DNAME
FROM EMP E, EMP M, DEPT D
WHERE E.MGR = M.EMPNO
AND E.HIREDATE < M.HIREDATE
AND E.DEPTNO = D.DEPTNO;
--3.列出职位为“CLERK”的员工姓名和其所在部门名称,部门人数:
SELECT e.ename,d.dname,t.counts
FROM emp e, dept d,
(SELECT deptno de, COUNT(*) counts FROM emp GROUP BY deptno )t
WHERE e.deptno = d.deptno AND e.deptno = t.de AND e.job = 'CLERK';
--4.列出和“SCOTT”从事相同工作的所有员工及部门名称:
SELECT E.*, D.DNAME
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND E.JOB = (SELECT JOB FROM EMP WHERE ENAME = 'SCOTT');
--5.列出每个部门工作的员工数量、平均工资和平均服务期限(单位为年)
SELECT DEPTNO "部门编号",
COUNT(EMPNO) "人数",
ROUND(AVG(SAL)) "平均薪资",
ROUND(AVG(MONTHS_BETWEEN(SYSDATE, HIREDATE))/12) "服务年限"
FROM EMP
GROUP BY DEPTNO;
--6、列出各个部门的MANAGER 的最低薪金:
SELECT deptno, MIN(sal) FROM emp WHERE job = 'MANAGER' GROUP BY deptno;
--7、给任职日期超过10年的人加薪10%;
SELECT E.*, E.SAL * 1.1
FROM EMP E
WHERE (MONTHS_BETWEEN(SYSDATE, HIREDATE)) / 12 > 10;
oracle多表查询和子查询练习的更多相关文章
- ORACLE 多表连接与子查询
Oracle表连接 SQL/Oracle使用表连接从多个表中查询数据 语法格式: select 字段列表from table1,table2where table1.column1=table2.co ...
- oracle多表关联查询和子查询
oracle多表关联查询和子查询 一.多表关联查询 例子: SQL> create table student1 ( sid ), sname ), sage )); Table created ...
- Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)
前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...
- MS sql server 基础知识回顾(二)-表连接和子查询
五.表连接 当数据表中存在许多重复的冗余信息时,就要考虑将这些信息建在另一张新表中,在新表中为原表设置好外键,在进行数据查询的时候,就要使用到连接了,表连接就好像两根线,线的两端分别连接两张表的不同字 ...
- MySQL多表查询之外键、表连接、子查询、索引
MySQL多表查询之外键.表连接.子查询.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为 ...
- Oracle学习DayFour(高级子查询)
一.高级子查询 1.多列子查询 定义:主查询与子查询返回的多个列进行比较 多列子查询中的比较分为两种:成对比较:不成对比较 实例:查询与141号或174号员工的manager_id和departmen ...
- MySQL开发——【联合查询、多表连接、子查询】
联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 fro ...
- MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习
MySQL之多表查询 阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建 ...
- mysql查询语句 和 多表关联查询 以及 子查询
原文地址: http://blog.csdn.net/github_37767025/article/details/67636061 1.查询一张表: select * from 表名: 2.查询指 ...
- Server Sql 多表查询、子查询和分页
一.多表查询:根据特定的连接条件从不同的表中获取所需的数据 多表查询语法: SELECT table1.column, table2.column FROM table1, table2 WHERE ...
随机推荐
- Frameset框架,在同一个浏览器窗口中显示不止一个页面
总结一下.通过使用Frameset框架,可以在同一个浏览器窗口中显示不止一个页面. 先举个例子: 1 <frameset rows="100,*" cols="*& ...
- P2156 [SDOI2009]细胞探索
$ \color{#0066ff}{ 题目描述 }$ 生物课上,老师开始为同学们介绍细胞.为了加深同学们的印象,老师在一张N×M的矩阵中定义了一种细胞,矩阵中仅有井号"#"和点&q ...
- P1080 国王游戏
题意: 让n 位大臣排成一排,国王站在队伍的最前面. 排好队后,所有的大臣都会获得国王奖赏的若干金币, 每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向 ...
- js常用代码收集
1. PC - js 返回指定范围的随机数(m-n之间)的公式 Math.random()*(n-m)+m return false return false // event.preventDefa ...
- Mysql 在DOS窗口下的操作
1.登录 (1)首先cd 进入mysql对应的安装目录 (2)再输入mysql -u root -p 2.重启 https://blog.csdn.net/u012385190/article/det ...
- django 访问静态资源
urlpatterns = patterns('', url(r'^$', views.show, name='index'), url(r'^static/(?P<path>.*)', ...
- java Sprint boot 学习之一
<properties> <project.build.sourceEncoding>UTF-</project.build.sourceEncoding> < ...
- Quartz中Cron详解
Quartz中的cron跟Linux系统的cron定义不太一样(Linux从分开始) 特殊字符: * 用来表示包含一个范围内的任意值. 例如, 分钟位置的“*” 表示 “每分钟”. ? 当不特定指代 ...
- Django-1 简介
1.1 MVC与MTV模型 MVCWeb服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负 ...
- 5W1H
WHY ——为什么做?原因与目标 WHAT ——做什么?目标与内容 WHO ——谁去做?具体的执行者 WHEN ——什么时间做?执行时间 WHERE——在什么地方做?执行地点 HOW——怎样做 ...