MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿ’Ž DataBase/๐Ÿ“š ์˜ค๋ผํด SQL๊ณผ PL,SQ

หšโ‚Šโœฉโ€งโ‚Š DB Oracle ์ •๋ฆฌ 3ํƒ„ (์˜ค๋ผํด SQL๊ณผ PL/SQL ch10) หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2021. 12. 13. 03:09

์„œ๋ธŒ์ฟผ๋ฆฌ๋ž€?

SQL ์ž‘์„ฑ ์‹œ ์—ฌ๋Ÿฌ ์งˆ๋ฌธ์ด ํ•œ ๋ฒˆ์— ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•จ

ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ ์•ˆ์— ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

MAIN ๋ณธ์ฟผ๋ฆฌ , SUB ์„œ๋ธŒ์ฟผ๋ฆฌ

SELECT ~ FROM ~
WHERE ์กฐ๊ฑด์—ฐ์‚ฐ์ž (SELECT	
		FROM
                WHERE )

 

 

 

<์„œ๋ธŒ์ฟผ๋ฆฌ ์ฃผ์˜์‚ฌํ•ญ>

- WHERE ์ ˆ ์—ฐ์‚ฐ์ž ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ•ด์•ผํ•˜๋ฉฐ ๋ฐ˜๋“œ์‹œ ๊ด„ํ˜ธ๋กœ ๋ฌถ๋Š”๋‹ค

- ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ์— OrderBy์ ˆ์ด ์˜ฌ ์ˆ˜ ์—†๋‹ค

- ๋‹จ์ผํ–‰, ๋‹ค์ค‘ํ–‰์— ๋”ฐ๋ผ ์—ฐ์‚ฐ์ž๋ฅผ ์ž˜ ์„ ํƒํ•œ๋‹ค.

 

 

<์„œ๋ธŒ์ฟผ๋ฆฌ>
์„œ๋ธŒ์ฟผ๋ฆฌ -> ๋ณธ์ฟผ๋ฆฌ : ์„œ๋ธŒ์ฟผ๋ฆฌ๊ฐ€ ์ˆ˜ํ–‰๋˜์–ด ๊ฒฐ๊ณผ ๊ฐ’์„ ์ „ํ•ด์ฃผ๊ณ  ๋ณธ์ฟผ๋ฆฌ๊ฐ€ ๋ฐ›์•„์„œ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•จ

 

SELECT * FROM EMP
WHERE ENAME = 'FORD';

SELECT * FROM EMP 
WHERE SAL > 3000;


SELECT * FROM EMP 
WHERE SAL >(SELECT SAL FROM EMP WHERE ENAME = 'FORD');

SELECT EMPNO, ENAME FROM EMP 
WHERE SAL >(SELECT SAL FROM EMP WHERE ENAME = 'FORD');


SELECT * FROM EMP 
WHERE COMM <(SELECT COMM FROM EMP WHERE ENAME = 'WARD');

 


--NULL์€ ์ œ์™ธํ•˜๊ณ  ์กฐํšŒ

<๋‹จ์ผํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ>

์ˆ˜ํ–‰ ๊ฒฐ๊ณผ ๊ฐ’์ด 1๊ฐœ์˜ ํ–‰๋งŒ ์ถœ๋ ฅ ๋˜๋Š” ๊ฒƒ

SELECT NAME STUD_NAME, DNAME DEPT_NAME  FROM STUDENT S
INNER JOIN DEPARTMENT D ON S.DEPTNO1 = D.DEPTNO
WHERE DEPTNO1 = (SELECT DEPTNO1 FROM STUDENT 
                    WHERE NAME= 'Anthony Hopkins'); --JOIN๊ฑธ๊ธฐ


SELECT S.NAME STUD_NAME,D.DNAME DEPT_NAME  FROM STUDENT S
INNER JOIN DEPARTMENT D ON S.DEPTNO1 = D.DEPTNO
WHERE DEPTNO1 = (SELECT DEPTNO1 FROM STUDENT 
                    WHERE NAME= 'Anthony Hopkins'); --JOIN๊ฑธ๊ธฐ DEPT ์˜ NAME ๊ฐ’ ์ถœ๋ ฅํ•ด์•ผ๋จ



<๋‹ค์ค‘ํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ>

์„œ๋ธŒ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ 2๊ฑด ์ด์ƒ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ

โ–ถIN  ์กฐ๊ฑด ์—ฌ๋Ÿฌ๊ฐœ ์ผ๋•Œ ์‚ฌ์šฉ (๋ฉ€ํ‹ฐ ROW)

= ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ ๊ฒ€์ƒ‰ ๋œ ์กฐ๊ฑด๋งŒ ๋ฉ”์ธ์ฟผ๋ฆฌ์—์„œ ์—ฐ์‚ฐํ•จ
= ๋ฐ˜๋“œ์‹œ ํ•œ๊ฐœ์ผ๋•Œ ์‚ฌ์šฉ๊ฐ€๋Šฅ (๊ฐ™๋‹ค ==)

SELECT * FROM DEPT2 WHERE AREA = 'Pohang Main Office';

SELECT * FROM EMP2
WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT2 WHERE AREA = 'Pohang Main Office');

 

โ–ถExists ์—ฐ์‚ฐ์ž

=์„œ๋ธŒ์ฟผ๋ฆฌ ๋‚ด์šฉ ์ˆ˜ํ–‰ ํ•ด์„œ 1๊ฑด์ด๋ผ๋„ ๋‚˜์˜ค๋ฉด ๋ฉ”์ธ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

=์„œ๋ธŒ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์— ์ƒ๊ด€ ์—†์ด ๋ฉ”์ธ ์ฟผ๋ฆฌ ์ˆ˜ํ–‰ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

= ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ํ™•์ธํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ• ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜

 

 


<๋‹ค์ค‘์ปฌ๋Ÿผ>

= ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์—ฌ๋Ÿฌ์ปฌ๋Ÿผ์ธ ๊ฒฝ์šฐ

 

SELECT NAME, GRSELECT NAME, GRADE, WEIGHT FROM STUDENT
WHERE (GRADE, WEIGHT) IN (SELECT GRADE, MAX(WEIGHT)  --ํ•™๋…„๋ณ„ ์ตœ๋Œ€ ๋ชธ๋ฌด๊ฒŒ
FROM STUDENT 
GROUP BY GRADE);
--์กฐ๊ฑด์ด 2๊ฐœ

SELECT NAME, GRADE, WEIGHT FROM STUDENT
WHERE WEIGHT IN (SELECT  MAX(WEIGHT)  --ํ•™๋…„๋ณ„ ์ตœ๋Œ€ ๋ชธ๋ฌด๊ฒŒ ์ค‘๋ณต๊นŒ์ง€ ๋‹ค ๊ฐ€์ ธ์˜ด
FROM STUDENT 
GROUP BY GRADE);

 

<์ƒํ˜ธ์—ฐ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ>

= ๋ฉ”์ธ๊ฐ’์„ ์„œ๋ธŒ์ฟผ๋ฆฌ์— ์ฃผ๊ณ  ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ ํ›„ , ๋ฉ”์ธ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ