SELECT e.empno,e.ename,e.job,d.dname,temp.count,temp.avg
FROM emp e,dept d,(
SELECT deptno,COUNT(empno) count,AVG(sal) avg
FROM emp
GROUP BY deptno) temp
WHERE e.job=(
SELECT job FROM emp WHERE ename='SCOTT')
AND e.ename<>'SCOTT'
AND e.deptno=d.deptno
AND e.deptno=temp.deptno;
SELECT sal FROM emp WHERE deptno=30;
SELECT e.ename,e.sal
FROM emp e
WHERE e.sal>ALL(
SELECT sal FROM emp WHERE deptno=30);
SELECT e.ename,e.sal
FROM emp e
WHERE e.sal>ALL(
SELECT sal FROM emp WHERE deptno=30)
AND e.sal>(SELECT AVG(sal) FROM emp);
SELECT e.ename,e.sal,d.dname
FROM emp e,dept d
WHERE e.sal>ALL(
SELECT sal FROM emp WHERE deptno=30)
AND e.sal>(SELECT AVG(sal) FROM emp)
AND e.deptno=d.deptno;
SELECT e.ename,e.sal,d.dname,temp.avg
FROM emp e,dept d,(
SELECT deptno,AVG(sal) avg
FROM emp
GROUP BY deptno) temp
WHERE e.sal>ALL(
SELECT sal FROM emp WHERE deptno=30)
AND e.sal>(SELECT AVG(sal) FROM emp)
AND e.deptno=d.deptno
AND e.deptno=temp.deptno;
SELECT e.ename,e.sal,d.dname,temp.avg,s.grade
FROM emp e,dept d,(
SELECT deptno,AVG(sal) avg
FROM emp
GROUP BY deptno) temp,salgrade s
WHERE e.sal>ALL(
SELECT sal FROM emp WHERE deptno=30)
AND e.sal>(SELECT AVG(sal) FROM emp)
AND e.deptno=d.deptno
AND e.deptno=temp.deptno
AND e.sal BETWEEN s.losal AND s.hisal;
SELECT e.empno,e.ename,e.job,e.sal
FROM emp e;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp
WHERE e.job=empjobtemp.job;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,m.ename,m.job
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+);
SELECT DISTINCT mgr FROM emp;
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp);
SELECT job,COUNT(*)
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,m.ename,m.job,mgrjobtemp.count
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,m.ename,m.job,mgrjobtemp.count,d.dname
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp,dept d
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job
AND e.deptno=d.deptno;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,m.ename,m.job,mgrjobtemp.count,d.dname,empdepttemp.count
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp,dept d,(
SELECT deptno dno,COUNT(*) count
FROM emp
GROUP BY deptno) empdepttemp
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job
AND e.deptno=d.deptno
AND e.deptno=empdepttemp.dno;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,m.ename,m.job,mgrjobtemp.count,d.dname,empdepttemp.count,d2.dname
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp,dept d,(
SELECT deptno dno,COUNT(*) count
FROM emp
GROUP BY deptno) empdepttemp,dept d2
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job
AND e.deptno=d.deptno
AND e.deptno=empdepttemp.dno
AND m.deptno=d2.deptno;
SELECT deptno dno,COUNT(*) count
FROM emp
WHERE deptno IN (
SELECT deptno
FROM emp
WHERE mgr IN (
SELECT mgr FROM emp))
GROUP BY deptno;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,
m.ename,m.job,mgrjobtemp.count,d.dname,empdepttemp.count,
d2.dname,mgrdepttemp.count
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp,dept d,(
SELECT deptno dno,COUNT(*) count
FROM emp
GROUP BY deptno) empdepttemp,dept d2,(
SELECT deptno dno,COUNT(*) count
FROM emp
WHERE deptno IN (
SELECT deptno
FROM emp
WHERE mgr IN (
SELECT mgr FROM emp))
GROUP BY deptno) mgrdepttemp
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job
AND e.deptno=d.deptno
AND e.deptno=empdepttemp.dno
AND m.deptno=d2.deptno
AND m.deptno=mgrdepttemp.dno;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,
m.ename,m.job,mgrjobtemp.count,d.dname,empdepttemp.count,
d2.dname,mgrdepttemp.count,s.grade
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp,dept d,(
SELECT deptno dno,COUNT(*) count
FROM emp
GROUP BY deptno) empdepttemp,dept d2,(
SELECT deptno dno,COUNT(*) count
FROM emp
WHERE deptno IN (
SELECT deptno
FROM emp
WHERE mgr IN (
SELECT mgr FROM emp))
GROUP BY deptno) mgrdepttemp,salgrade s
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job
AND e.deptno=d.deptno
AND e.deptno=empdepttemp.dno
AND m.deptno=d2.deptno
AND m.deptno=mgrdepttemp.dno
AND e.sal BETWEEN s.losal AND s.hisal;
SELECT e.empno,e.ename,e.job,e.sal,empjobtemp.count,
m.ename,m.job,mgrjobtemp.count,d.dname,empdepttemp.count,
d2.dname,mgrdepttemp.count,s.grade,empsaltamp.count
FROM emp e,(
SELECT job,COUNT(*) count
FROM emp
GROUP BY job) empjobtemp,emp m,(
SELECT job,COUNT(*) count
FROM emp
WHERE job IN (
SELECT job
FROM emp
WHERE empno IN (
SELECT DISTINCT mgr FROM emp))
GROUP BY job) mgrjobtemp,dept d,(
SELECT deptno dno,COUNT(*) count
FROM emp
GROUP BY deptno) empdepttemp,dept d2,(
SELECT deptno dno,COUNT(*) count
FROM emp
WHERE deptno IN (
SELECT deptno
FROM emp
WHERE mgr IN (
SELECT mgr FROM emp))
GROUP BY deptno) mgrdepttemp,salgrade s,(
SELECT s1.grade grd,COUNT(e1.empno) count
FROM emp e1,salgrade s1
WHERE e1.sal BETWEEN s1.losal AND s1.hisal
GROUP BY s1.grade) empsaltamp
WHERE e.job=empjobtemp.job
AND e.mgr=m.empno(+)
AND m.job=mgrjobtemp.job
AND e.deptno=d.deptno
AND e.deptno=empdepttemp.dno
AND m.deptno=d2.deptno
AND m.deptno=mgrdepttemp.dno
AND e.sal BETWEEN s.losal AND s.hisal
AND s.grade=empsaltamp.grd;