๊ฐœ์ธ๊ณต๋ถ€/SQL

02. DML : ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด (USER)

LEE_BOMB 2021. 9. 14. 10:20

2. DML : ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด (USER)
SELECT ๋ ˆ์ฝ”๋“œ ๊ฒ€์ƒ‰, INSERT ๋ ˆ์ฝ”๋“œ ์‚ฝ์ž…, DELETE ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ, UPDATE ๋ ˆ์ฝ”๋“œ ์ˆ˜์ •


[SELECT ๋ ˆ์ฝ”๋“œ ๊ฒ€์ƒ‰]
โ‘  ๊ธฐ๋ณธ๊ณต์‹
SELECT ์นผ๋Ÿผ๋ช…
FROM ํ…Œ์ด๋ธ”๋ช…
WHERE ์กฐ๊ฑด์‹;

[WHERE์ ˆ ๋น„๊ต์—ฐ์‚ฐ์ž]
= ๊ฐ™๋‹ค
> ๋ณด๋‹ค ํฌ๋‹ค
>= ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
< ๋ณด๋‹ค ์ž‘๋‹ค
<= ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค

[WHERE์ ˆ SQL์—ฐ์‚ฐ์ž]
Between a AND b a์™€ b ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง (a์™€ b๊ฐ’ ํฌํ•จ)
IN (list) ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ๊ฐ’ ์ค‘์—์„œ ์–ด๋А ํ•˜๋‚˜๋กœ ์ผ์น˜ํ•จ
IS NULL ์ƒ๋žต๊ฐ€๋Šฅ
LIKE ๋น„๊ต ๋ฌธ์ž์—ด. ๋น„๊ต ๋ฌธ์ž์—ด๊ณผ ํ˜•ํƒœ๊ฐ€ ์ผ์น˜ํ•œ๋‹ค(%,_ ์‚ฌ์šฉ)
* % 0๊ฐœ ์ด์ƒ์˜ ์–ด๋–ค ๋ฌธ์ž๋ฅผ ์˜๋ฏธ
* _ 1๊ฐœ์ธ ๋‹จ์ผ ๋ฌธ์ž๋ฅผ ์˜๋ฏธ

[WHERE์ ˆ ๋ถ€์ •์—ฐ์‚ฐ์ž]
<>, !=, ^= ๊ฐ™์ง€ ์•Š๋‹ค
NOT ์นผ๋Ÿผ๋ช… = ๊ฐ™์ง€ ์•Š๋‹ค
NOT ์นผ๋Ÿผ๋ช… > ๋ณด๋‹ค ํฌ์ง€ ์•Š๋‹ค
NOT Between a AND b : a, b ๊ฐ’์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค
NOT IN (list) : list๊ฐ’๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋‹ค
IS NOT NULL : NULL๊ฐ’์„ ๊ฐ–์ง€ ์•Š๋‹ค

[WHERE์ ˆ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž]
AND ์•ž, ๋’ค ์กฐ๊ฑด์ด ๋™์‹œ์— ์ฐธ
OR ์•ž, ๋’ค ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋งŒ ์ฐธ
NOT ๋’ค์— ์˜ค๋Š” ์กฐ๊ฑด๊ณผ ๋ฐ˜๋Œ€

[WHERE์ ˆ ๋ถ€์ •์—ฐ์‚ฐ์ž]
NULL / IS NULL / IS NOT NULL

* ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„ () > ๋น„๊ต์—ฐ์‚ฐ์ž, SQL์—ฐ์‚ฐ์ž > NOT์—ฐ์‚ฐ์ž, AND, OR

[์˜์‚ฌ์นผ๋Ÿผ]
- SELECT, WHERE์ ˆ์—์„œ ์‚ฌ์šฉ
- ์‹ค์ œ ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ€์งœ ์นผ๋Ÿผ
ROWNUM ๋ ˆ์ฝ”๋“œ ์กฐํšŒ ์ˆœ๋ฒˆ
ROWD ํ…Œ์ด๋ธ” ์ƒ์„ฑ๊ณผ์ •์—์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ณ ์œ ๊ฐ’

* NVLํ•จ์ˆ˜ (๋Œ€์ƒ ์นผ๋Ÿผ๋ช…, ํ•ด๋‹น ์นผ๋Ÿผ์ด NULL์ผ ๋•Œ ๋Œ€์ฒด๊ฐ’)
* ๋ณ„์นญํ‘œํ˜„ AS
* ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž '||'
* ์ค‘๋ณต๊ฐ’ ์ œ๊ฑฐ DISTINCT
* TO_DATE ํ•จ์ˆ˜ ('1999/01/01', 'yyyy/mm/dd')

 


[๋ ˆ์ฝ”๋“œ ์ •๋ ฌ ORDER BY]

SELECT ํ…Œ์ด๋ธ”or์นผ๋Ÿผ๋ช…
FROM ํ…Œ์ด๋ธ”๋ช…
WHERE ์กฐ๊ฑด์‹;
ORDER BY ํ…Œ์ด๋ธ”or์นผ๋Ÿผ๋ช… DESC;

* DECS๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ


[INSERT ๋ ˆ์ฝ”๋“œ ์‚ฝ์ž…]
โ‘  ๊ธฐ๋ณธ๊ณต์‹

INSERT INTO ํ…Œ์ด๋ธ”๋ช…(์นผ๋Ÿผ๋ช…1, .. ์นผ๋Ÿผ๋ช…n)
VALUES(๊ฐ’1, ... ๊ฐ’n);

* ๋ชจ๋“  ์นผ๋Ÿผ์—  ์ž๋ฃŒ ์ž…๋ ฅ ์‹œ, ์นผ๋Ÿผ๋ช… ์ƒ๋žต

[์•”์‹œ์ (๋ฌต์‹œ์ ) NULL ์ž…๋ ฅ]

INSERT INTO ํ…Œ์ด๋ธ”๋ช… (์นผ๋Ÿผ๋ช…1, ์นผ๋Ÿผ๋ช…2)
VALUES (๊ฐ’1, ๊ฐ’2);

 

[๋ช…์‹œ์  NULL ์ž…๋ ฅ]

INSERT INTO ํ…Œ์ด๋ธ”๋ช…
VALUES (40, 'OPERATIONS', NULL);

 

โ‘ก ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ฝ”๋“œ ์‚ฝ์ž…

INSERT INTO dept02
SELECT*FROM dept;


[(๋‹ค์ค‘ ํ…Œ์ด๋ธ”์—) ๋‹ค์ค‘ ๋ ˆ์ฝ”๋“œ ์‚ฝ์ž…]

INSERT ALL 
INTO emp_hir VALUES(empno, ename, hiredate) -- 2. ๊ฐ๊ฐ ํ…Œ์ด๋ธ”์— ๋ฟŒ๋ ค์„œ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Œ
INTO emp_mgr VALUES(empno, ename, mgr)
SELECT empno, ename, hiredate, mgr -- 1. ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ ์ถœ๋ ฅํ•œ ์นผ๋Ÿผ์„ ๊ฐ๊ฐ ํ…Œ์ด๋ธ”์— ๋ฟŒ๋ ค์„œ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Œ
FROM EMP
WHERE DEPTNO=20;




[UPDATE ๋ ˆ์ฝ”๋“œ ์ˆ˜์ •]
โ‘  ๊ธฐ๋ณธ๊ณต์‹

UPDATE ํ…Œ์ด๋ธ”๋ช…
SET ์นผ๋Ÿผ๋ช… = ๊ฐ’
WHERE ์กฐ๊ฑด์‹;


[2๊ฐœ ์ด์ƒ์˜ ์นผ๋Ÿผ๊ฐ’ ๋ณ€๊ฒฝ]

UPDATE emp01
SET deptno=20, JOB='MANAGER'
WHERE ename='SCOTT';


โ‘ก ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋ ˆ์ฝ”๋“œ ์ˆ˜์ •

UPDATE dept01
SET loc=(SELECT loc FROM dept01 WHERE deptno=10) -- ์„œ๋ธŒ์ฟผ๋ฆฌ ์กฐ๊ฑด์„
WHERE deptno=20; -- ๋ฉ”์ธ์ฟผ๋ฆฌ์—์„œ ๋ฐ›์•„ 20๋ฒˆ ๋ถ€์„œ์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พผ๋‹ค

 



[DELETE ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ]
โ‘  ๊ธฐ๋ณธ๊ณต์‹

DELETE FROM ํ…Œ์ด๋ธ”๋ช…
WHERE ์กฐ๊ฑด์‹;


โ‘ก ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ

DELETE FROM emp01
WHERE deptno=(SELECT deptno FROM dept WHERE dname='SALES'); -- ๋ถ€์„œ๋ฒˆํ˜ธ 30๋ฒˆ
SELECT*FROM emp01;