17. SALES์—์„œ ๊ทผ๋ฌดํ•˜๋Š” ์‚ฌ์›๊ณผ ๊ฐ™์€ ์—…๋ฌด๋ฅผ ํ•˜๋Š” ์‚ฌ์›์˜ ์ด๋ฆ„,์—…๋ฌด,๊ธ‰์—ฌ,๋ถ€์„œ๋ฒˆํ˜ธ ์ถ”์ถœ

SELECT ename, job, sal, deptno
FROM emp
WHERE job = (SELECT job FROM emp WHERE dname = 'SALES');

where job in (select job from emp natural join dept
where dname='SALES');

select* from emp;

 

 

18. ์—…๋ฌด๋ณ„ ํ‰๊ท  ์›”๊ธ‰๋ณด๋‹ค ๋‚ฎ์€ ์‚ฌ์›์˜ ๋ถ€์„œ๋ฒˆํ˜ธ, ์ด๋ฆ„, ๊ธ‰์—ฌ, ๋ถ€์„œ ํ‰๊ท ๊ธ‰์—ฌ๋ฅผ ์ถ”์ถœ

SELECT deptno, ename, sal, job
FROM emp
WHERE sal IN (SELECT AVG(sal) FROM emp GROUP BY job); --์‚ฌ์›1037.5 ์˜์—…1400, ์‚ฌ์žฅ5000, ๋งค๋‹ˆ์ € 2758.333, ๋ถ„์„๊ฐ€3000

SELECT deptno, ename, sal, (SELECT AVG(sal) FROM emp t WHERE t.deptno=e.deptno) "๋ถ€์„œ๋ณ„ ํ‰๊ท ์›”๊ธ‰"
FROM emp e
WHERE sal < (SELECT AVG(sal) FROM emp t WHERE t.deptno=e.deptno)
ORDER BY deptno;

* SELECT์ ˆ์—์„œ ์ƒˆ๋กœ์šด ์ ˆ๋กœ ์กฐ๊ฑด ์ง€์ •ํ•˜์—ฌ ๊ณ„์‚ฐ๋œ ํ•ญ๋ชฉ ์ถœ๋ ฅ ๊ฐ€๋Šฅ
* SELECT์ ˆ๊ณผ ๋ถ€์† ์ ˆ์˜ ํ…Œ์ด๋ธ” ๋ณ„์นญ์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ ๊ฐ€๋Šฅ

 

 

19. ์‚ฌ์›๋ฒˆํ˜ธ,์‚ฌ์›๋ช…,๋ถ€์„œ๋ช…,์†Œ์†๋ถ€์„œ ์ธ์›์ˆ˜,์—…๋ฌด,์†Œ์† ์—…๋ฌด ๊ธ‰์—ฌํ‰๊ท ,๊ธ‰์—ฌ๋ฅผ ์ถ”์ถœ

SELECT empno, ename, dname, (SELECT COUNT(*) FROM emp e WHERE e.deptno=d.deptno) "์†Œ์†๋ถ€์„œ ์ธ์›์ˆ˜", job, (SELECT AVG(sal) FROM emp e WHERE e.deptno=d.deptno) "์†Œ์† ์—…๋ฌด ๊ธ‰์—ฌํ‰๊ท ", sal
FROM emp e, dept d
WHERE e.deptno = d.deptno;

 

 

20. ์‚ฌ์›๋ฒˆํ˜ธ,์‚ฌ์›๋ช…,๋ถ€์„œ๋ฒˆํ˜ธ,์—…๋ฌด,๊ธ‰์—ฌ, ์ž์‹ ์˜ ์†Œ์† ์—…๋ฌด ํ‰๊ท ๊ธ‰์—ฌ๋ฅผ ์ถ”์ถœ

SELECT empno, ename, deptno, job, sal, (SELECT AVG(sal) FROM emp e WHERE e.job = d.job) "์†Œ์† ์—…๋ฌด ํ‰๊ท ๊ธ‰์—ฌ"
FROM emp d;

 

 

21. ์ตœ์†Œํ•œ ํ•œ ๋ช…์˜ ๋ถ€ํ•˜์ง์›์ด ์žˆ๋Š” ๊ด€๋ฆฌ์ž์˜ ์‚ฌ์›๋ฒˆํ˜ธ,์ด๋ฆ„,์ž…์‚ฌ์ผ์ž,๊ธ‰์—ฌ ์ถ”์ถœ

SELECT empno, ename, hiredate, sal
FROM emp e
WHERE EXISTS (SELECT 1 FROM emp d WHERE d.mgr=e.empno);

* EXISTS (์„œ๋ธŒ์ฟผ๋ฆฌ) : ๊ฒฐ๊ณผ๊ฐ’์ด ํ•œ ๊ฑด์ด๋ผ๋„ ์กด์žฌํ•˜๋ฉด T, ์—†์œผ๋ฉด F๋ฅผ ๋ฐ˜ํ™˜
๊ฒฐ๊ณผ๊ฐ’์ด ํ•œ ๊ฑด์ด๋ผ๋„ ์žˆ์œผ๋ฉด ์ฟผ๋ฆฌ๋ฅผ ๋”์ด์ƒ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.
SELECT ์ ˆ์€ ๋ฐ˜ํ™˜์ด ํ•„์š”์น˜ ์•Š์œผ๋ฏ€๋กœ ์˜๋ฏธ ์—†๋Š” 1 ๊ธฐ์ž…

 

 

22. ๋ถ€ํ•˜์ง์›์ด ์—†๋Š” ์‚ฌ์›์˜ ์‚ฌ์›๋ฒˆํ˜ธ, ์ด๋ฆ„, ์—…๋ฌด, ๋ถ€์„œ๋ฒˆํ˜ธ ์ถ”์ถœ

SELECT empno, ename, job, deptno
FROM emp e
WHERE NOT EXISTS (SELECT 1 FROM emp m WHERE m.mgr=e.empno);

* NOT EXISTS (์„œ๋ธŒ์ฟผ๋ฆฌ) : ๊ฒฐ๊ณผ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด T๋ฐ˜ํ™˜

 

 

23. BLAKE์˜ ๋ถ€ํ•˜์ง์›์˜ ์ด๋ฆ„, ์—…๋ฌด, ์ƒ์‚ฌ๋ฒˆํ˜ธ ์ถ”์ถœ

SELECT ename, job, mgr
FROM emp
WHERE mgr = (SELECT empno FROM emp WHERE ename = 'BLAKE');

 

 

24. BLAKE์™€ ๊ฐ™์€ ์ƒ์‚ฌ๋ฅผ ๊ฐ€์ง„ ์‚ฌ์›์˜ ์ด๋ฆ„,์—…๋ฌด, ์ƒ์‚ฌ๋ฒˆํ˜ธ ์ถ”์ถœ

SELECT ename, job, mgr
FROM emp
WHERE mgr = (SELECT mgr FROM emp WHERE ename='BLAKE');

'๊ฐœ์ธ๊ณต๋ถ€ > SQL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

10. Oracle ์ค‘๊ฐ„์—ฐ์Šต๋ฌธ์ œ  (0) 2021.09.23
09. Oracle ์ค‘๊ฐ„์—ฐ์Šต๋ฌธ์ œ  (0) 2021.09.22
07. Oracle ์ค‘๊ฐ„์—ฐ์Šต๋ฌธ์ œ  (0) 2021.09.19
06. GROUP BY  (0) 2021.09.18
05. Function : ํ•จ์ˆ˜  (0) 2021.09.17

+ Recent posts