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 |