๋ฐ์ดํฐ ์กฐ์ ๋ฐ์ดํฐ ์ฝ์
1. ์์ ํ ํ ์ฝ์
์ด ๋ฐฉ๋ฒ์ ์ฝ๋ฉ์ ์งง๊ฒ ํด๋ ๋๋ค๋ ์ฅ์ ์ด ์๋ ๋ฐ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ๋ ๊ฐ์ ์์๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ํ
์ด๋ธ์ด ๋ง๊ฐ์ง ์ ์๋ค๋ ์ํ์ด ์๋ค INSERT INTO ํ
์ด๋ธ๋ช
VALUES (๊ฐ1, ๊ฐ2, ๊ฐ3); 2. ์ด ์ด๋ฆ๊ณผ ํจ๊ป ์์ ํ ํ ์ฝ์
INSERT INTO ํ
์ด๋ธ๋ช
(์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2, ์ด ์ด๋ฆ3) VALUES (๊ฐ1, ๊ฐ2, ๊ฐ3); 3. ๋ถ๋ถ ํ ์ฝ์
INSERT INTO ํ
์ด๋ธ๋ช
(์ด ์ด๋ฆ1, ์ด ์ด๋ฆ3) VALUES(๊ฐ1, ๊ฐ3); 4. SQL ๋ฌธ์ฅ ๊ฒฐ๊ณผ๋ฅผ ์ฝ์
INSERT INTO ํ
์ด๋ธ๋ช
1(์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2, ์ด ์ด๋ฆ3) SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2, ์ด ์ด๋ฆ3 FROM ํ
์ด๋ธ๋ช
2 WHERE ์กฐ๊ฑด์ ; 1. CUST_PARTY ํ
..
ํ์ ์ฟผ๋ฆฌ์ ์ดํด FROM์ ์ ํ์ ์ฟผ๋ฆฌ 1. ์กฐ๊ฑด์ ๋ง๋ ๋์์ ์ ์ ํ ์์ฝํ ๋ ์ด ๋ฐฉ๋ฒ์ ์กฐ๊ฑด์ ๋ง๋ ๋์์๋ฅผ ์ ์ ํ ํ ๋ฐ์ดํฐ๋ฅผ ์์ฝํ ๋ ๋ง์ด ์ฌ์ฉ๋๋ค => ํ
์ด๋ธ ๋ณ์นญ์ ์ฃผ์ง ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ํ ํ
์ด๋ธ ๋ณ์นญ์ ๊ผญ ์ฃผ์ด์ผ ํ๋ค SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2 FROM (SELECT * FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์ ) (AS) ๋ณ์นญ WHERE ์กฐ๊ฑด์ ; 2. ํ
์ด๋ธ ์กฐ์ธ์ ํ ๋ ํ
์ด๋ธ ์กฐ์ธ์ ํ ๋ ํ์ํ ์ ๋ณด๋ง ์กฐ์ธํ ์ ์๋๋ก ๊ณ ์๋ ๋ฐฉ๋ฒ์ด๋ค SELECT ๋ณ์นญ1.์ด ์ด๋ฆ1, ๋ณ์นญ2.์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
1 (AS) ๋ณ์นญ1 LEFT OUTER JOIN (SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
2 WHERE ์กฐ๊ฑด์ ) (AS) ๋ณ์นญ2 ..
์ด(Column) ํฉ์น๊ธฐ ๋ด๋ถ ์กฐ์ธ 1. FROM/WHERE๋ฅผ ์ฌ์ฉ ๋ด๋ถ ์กฐ์ธ์ ๋ ํ
์ด๋ธ์ ํค๊ฐ์ด ๋งค์นญ๋ ๊ฒฝ์ฐ ์ ํ๋ ๋ชจ๋ ์ด์ ๋ํ๋ SELECT ํ
์ด๋ธ๋ช
1.์ด ์ด๋ฆ1, ํ
์ด๋ธ๋ช
2.์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
1, ํ
์ด๋ธ๋ช
2 WHERE ํ
์ด๋ธ๋ช
1.KEY=ํ
์ด๋ธ๋ช
2.KEY; 2. FROM/WHERE์ ๋ณ์นญ์ ์ฌ์ฉ ์ค๋ผํด์ ํฌํจํ ๋ช๋ช DBMS๋ ํ
์ด๋ธ๋ช
๋ณ์นญ์ ์ค ๋ AS ํค์๋๊ฐ ์ง์๋์ง ์์ผ๋ฏ๋ก AS๋ฅผ ๋นผ๊ณ ํ
์ด๋ธ ๋ณ์นญ์ ์ค์ ํด์ผํจ! SELECT ๋ณ์นญ1.์ด ์ด๋ฆ1, ๋ณ์นญ2.์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
1(AS) ๋ณ์นญ1, ํ
์ด๋ธ๋ช
2(AS) ๋ณ์นญ2 WHERE ๋ณ์นญ1.KEY=๋ณ์นญ2.KEY; 3. INNER JOIN์ ์ฌ์ฉ INNER JOIN์ ์ฌ์ฉํ์ฌ ๋ ํ
์ด๋ธ์ ํฉ์น ์ ์๋ค => ON ๋ค์ ๋ ํ
์ด๋ธ์ ..
๋ฐ์ดํฐ์ ๊ทธ๋ฃนํ GROUB BY 1. ์ด ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃนํ ์ง๊ณ ํจ์๋ฅผ ์ ์ธํ SELECT๋ฌธ์ ๋ชจ๋ ์ด์ GROUB BY์ ์ ์์ด์ผํจ SELECT ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ1, ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ2, ์ง๊ณ ํจ์ FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์ GROUB BY ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2; 2. ์ด ์์น๋ก ๊ทธ๋ฃนํ SELECT ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ1, ๊ทธ๋ฃนํํ ์ด ์ด๋ฆ2, ์ง๊ณ ํจ์ FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์ GROUB BY 1, 2; 1. PPC_201312 ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ ๊ณ ๊ฐ๋ฑ๊ธ๋ณ ์ธ๋น ํ๊ท ์ฐ ์์ต์ ๊ณ์ฐํ๋ ค๋ฉด? SELECT SEG, ANNL_REV FROM PPC_201312 GROUP BY SEG; 2. PPC_201312 ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ ์นด๋์ํ๊ณผ ๋์ถ์ํ ๋ณด์ ๊ฐ์ ๊ด๊ณ๋ฅผ ์์๋ณด๋ ค๋ฉด? SELECT ..
์ซ์ ๋ฐ์ดํฐ ์์ฝํ๊ธฐ COUNT ํจ์ ์ง๊ณ ํจ์ ์ ๋ฆฌ 1. COUNT : ํ์ ์๋ฅผ ๋ํ๋ => NULL๊ฐ์ ํฌํจํ ์ ์ฒด ํ์ ์ : COUNT(*) => NULL๊ฐ์ ์ ์ธํ ์ ์ฒด ํ์ ์ : COUNT(์ด ์ด๋ฆ) => ์ค๋ณต์ ์ ์ธํ ํ์ ์ : COUNT(DISTINCT ์ด ์ด๋ฆ) 2. SUM : ํ์ ํฉ๊ณ๋ฅผ ๋ํ๋ 3. AVG : ํ์ ํ๊ท ์ ๋ํ๋ 4. MAX : ํ์ ์ต๋๊ฐ์ ๋ํ๋ 5. MIN : ํ์ ์ต์๊ฐ์ ๋ํ๋ 6. STDENV : ํ์ ํ์คํธ์ฐจ๋ฅผ ๋ํ๋ 7. VARIANCE : ํ์ ๋ถ์ฐ์ ๋ํ๋ 1. STUD_SCORE ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ NULL ๊ฐ์ ์ ์ธํ ์์
์ ์ ๋ณด์ ์๋ฅผ ์ธ๋ ค๋ฉด? SELECT COUNT(MUSIC_SCORE) AS MUSIC_CNT FROM STUD_SCORE;..
๋ฌธ์/์ซ์/๋ ์ง ํจ์ ๋ฐฐ์๋ณด๊ธฐ ๋ฌธ์ ํจ์ ํจ์๋ ๋ณ์๋ฅผ ํน์ ํ ํํ๋ก ๋ณํ์ํค๋ ๊ฒ์ด๋ค ๋ํ์ ์ธ ๋ฌธ์ ํจ์๋ 1. LOWER : ๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ณํํจ 2. UPPER : ๋ชจ๋ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํจ 3. LENGTH : ๋ฌธ์์ ๊ธธ์ด๋ฅผ ๋ํ๋ 4. SUBSTR : ๋ฌธ์ ๊ฐ ์ค ์ํ๋ ๊ธธ์ด๋งํผ๋ง ๋ํ๋ 5. RTRIM : ๋ฌธ์์ด ์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ์ ์๋ผ๋ 6. LTRIM : ๋ฌธ์์ด ์ผ์ชฝ ๊ณต๋ฐฑ์ ์๋ผ๋ 7. TRIM : ๋ฌธ์์ด์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ์ ์๋ผ๋ 8. REPLACE : ํน์ ๋ฌธ์์ด์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๋์ฒดํจ 9. COALESCE : ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ง ๊ฐ์ผ๋ก ์นํํจ 10. INTCAP : ์ฒซ ๊ธ์๋ ๋๋ฌธ์, ๋๋จธ์ง๋ ์๋ฌธ์๋ก ๋ณํํจ ๊ฐ ์๋ค! 1. VENDOR_INFO ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฆ์ ์..
ํ
์คํธ ๋ง์ด๋(Text mining) LIKE ์ฐ์ฐ์๋ฅผ ํ์ฉํ ํํฐ๋ง 1. ๋ค์ ๋์ค๋ ๋ฌธ์๋ค์ ์ ์ ์๋ ๊ฒฝ์ฐ SELECT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
WHERE ์ด ์ด๋ฆ LIKE '์ฐพ๊ณ ์ถ์ ๋ฌธ์%'; 2. ์์ ๋์ค๋ ๋ฌธ์๋ค์ ์ ์ ์๋ ๊ฒฝ์ฐ SELECT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
WHERE ์ด ์ด๋ฆ LIKE '%์ฐพ๊ณ ์ถ์ ๋ฌธ์'; 3. ์๋ค์ ๋์ค๋ ๋ฌธ์๋ค์ ์ ์ ์๋ ๊ฒฝ์ฐ SELECT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
WHERE ์ด ์ด๋ฆ LIKE '%์ฐพ๊ณ ์ถ์ ๋ฌธ์%'; 4. ๋ค์ ๋์ค๋ ๋ฌธ์๋ฅผ ์ ์ ์๋ ๊ฒฝ์ฐ SELECT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
WHERE ์ด ์ด๋ฆ LIKE '์ฐพ๊ณ ์ถ์ ๋ฌธ์_'; 5. ์์ ๋์ค๋ ๋ฌธ์๋ฅผ ์ ์ ์๋ ๊ฒฝ์ฐ SELECT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
WHERE ์ด ..
๋
ผ๋ฆฌ์ฐ์ฐ์ AND, OR ์์๋ณด๊ธฐ AND ์ฐ์ฐ์ AND ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๊ฒ ๋๋ค => ๋ง์ฝ ์กฐ๊ฑด์ ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด ๊ณ์ํด์ AND ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋จ! SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด์ 1 AND ์กฐ๊ฑด์ 2 1. BRNCH_INFO ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ง์ ์๊ฐ 10๋ช
์ด์์ด๊ณ ๊ฒฝ์ํ๊ฐ๊ฐ 'C'์ธ ์์
์ ๋ฒํธ, ์์
์ ์ด๋ฆ, ์์
์ ์ธ์, ๊ฒฝ์ํ๊ฐ๋ฅผ ๋ํ๋ด๋ ค๋ฉด? SELECT BRNCH_NO, BRNCH_NM, BRNCH_NUM, BRNCH_PERF FROM BRNCH_INFO WHERE BRNCH_NUM >= 10 AND BRNCH_PERF = 'C'; 2. BRNCH_INFO ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ง์ ์๊ฐ 10๋ช
์ด์์ด๊ณ ..
WHERE ์กฐ๊ฑด์ ์ ๋ํด ์์๋ณด๊ธฐ ์ซ์ ๋ฐ ๋ฌธ์/๋ ์งํ ๋ฐ์ดํฐ ํํฐ๋ง ํ
์ด๋ธ๋ช
๋ค์์ WHERE๋ฅผ ์ ๊ณ ์กฐ๊ฑด์ ๊ธฐ์ฌํ๋ฉด ๋จ! ์ซ์ํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
WHERE ๋น๊ตํ ์ด ์ด๋ฆ=์ซ์; ๋ฌธ์/๋ ์งํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
WHERE ๋น๊ตํ ์ด ์ด๋ฆ='๋ฌธ์'; 1. ๊ฐ์
๊ธ์ก์ด 1๋ฐฑ๋ง์ ์ด์์ธ ๊ณ ๊ฐ๋ค์ ๊ณ ๊ฐ๋ฒํธ, ๊ณ์ฝ๋ฒํธ, ๊ฐ์
๊ธ์ก์ ์ถ์ถํ๋ ค๋ฉด? SELECT ID, CNRT_NO, CNRT_AMT FROM INS_INFO WHERE CNRT_AMT >= 1000000; 2. ์ํ๋ช
์ด '๋ค์ด๋ ํธ์๋์ฐจ๋ณดํ'์ธ ๊ณ ๊ฐ๋ค์ ๊ณ ๊ฐ๋ฒํธ, ๊ณ์ฝ์ผ, ์ํ๋ช
์ ์ถ์ถํ๊ณ ๊ณ ๊ฐ๋ฒํธ๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ค๋ฉด? SELECT ID, C..
SELECT๋ฌธ์์ ๋ง์ด ์ฌ์ฉ๋๋ ํค์๋ DISTINCT ํค์๋ DISTINCT ๋ค์ ์ง์ ํ ์ด์ด ํ ๊ฐ์ผ ๊ฒฝ์ฐ SELECT DISTINCT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
; ์ด ์ด๋ฆ ์์ DISTINCT๋ฅผ ์ ์ผ๋ฉด ๊ฐ์ ์ค๋ณต ์์ด ์ถ๋ ฅ๋จ DISTINCT ๋ค์ ์ง์ ํ ์ด์ด ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ SELECT DISTINCT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2 FROM ํ
์ด๋ธ๋ช
; 1. EMP ํ
์ด๋ธ์ ์ด๋ ์ง๊ธ๋ค์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ ค๋ฉด? SELECT DISTINCT POSITION FROM EMP; 2. EMP ํ
์ด๋ธ์์ ์ง๊ธ์ ๋ฐ๋ผ ์ด๋ค ์ธ์ฌ๊ณ ๊ณผ๋ฅผ ๋ฐ์๋์ง ํ์ธํ๋ ค๋ฉด? SELECT DISTINCT POSITION, GRADE FROM EMP; 1. DISTINCT ํค์๋์ ๋ฐ๋๋ ALL ํค์๋์ด๋ค! => DISTINCT ํค์๋..
๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ์ง์ ํ ์ด ๊ฐ์ ธ์ค๊ธฐ ์ง์ ํ ์ด์ด ํ ๊ฐ์ผ ๊ฒฝ์ฐ SELECT ์ด ์ด๋ฆ FROM ํ
์ด๋ธ๋ช
; ์ง์ ํ ์ด์ด ๋ ๊ฐ ์ด์์ผ ๊ฒฝ์ฐ (์ฝค๋ง๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ์ด๋ฆ์ ์ฌ๋ฌ ๊ฐ ๋์ดํ ์ ์๋ค) SELECT ์ด ์ด๋ฆ1, ์ด ์ด๋ฆ2, ์ด ์ด๋ฆ3 FROM ํ
์ด๋ธ๋ช
; ์ด ์ด๋ฆ์๋ ์ถ๋ ฅํ๊ณ ์ถ์ ์ด ์ด๋ฆ์ ๋ฃ์ด์ฃผ๊ณ ํ
์ด๋ธ๋ช
์๋ ์ฐธ์กฐ๋ฅผ ์ํ๋ ํ
์ด๋ธ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค! 1. CLERK ํ
์ด๋ธ์์ ์ฌ๋ฒ์ ์ถ๋ ฅํ๋ ค๋ฉด? SELECT ID FROM CLERK; 2. CLERK ํ
์ด๋ธ์์ ์ฌ๋ฒ, ์ด๋ฆ, ์๋
์์ผ์ ์ถ๋ ฅํ๋ ค๋ฉด? SELECT ID, STAFF_NM, BIRTH_DT FROM CLERK; 1. SQL์ ์๋ฌธ์์ ๋๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค => SELECT๋ฅผ select๋ผ๊ณ ์
๋ ฅํด๋ ๊ฒฐ๊ณผ๊ฐ์ ์ฐจ์ด๊ฐ X (๋ณด๊ธฐ ์ฝ๊ฒํ๊ธฐ ..
๋ฐ์ดํฐ๋ฒ ์ด์ค๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database)์ ์ ์ DB๋ ์ฌ๋ฌ ์ฌ๋์๊ฒ ๊ณต์ ๋์ด ์ฌ์ฉ๋ ๋ชฉ์ ์ ๊ฐ์ง๊ณ , ๊ตฌ์กฐ์ ์ธ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ์งํฉ์ ์ด์ผ๊ธฐํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฒด๊ณ์ ์ธ ๊ด๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
(DBMS)์ ํตํด ์ด๋ฃจ์ด์ง๋ค. DBMS๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ๊ณ ๋ณด๊ดํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค => ์ด๋ฅผ ์ํด ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ, ์ญ์ , ๊ฒ์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ํํจ (๋ํ์ ์ธ DBMS๋ Oracle, MySQL, MsSQL, Teradata, SyBase ๋ฑ์ด ์๋ค) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
(DBMS)์ ํน์ฑ DBMS๋ ์ค์๊ฐ ์ ๊ทผ์ฑ, ๊ณ์์ ์ธ ๋ณํ, ๋์ ๊ณต์ฉ, ๋ด์ฉ์ ์ํ ์ฐธ์กฐ ๋ฑ์ ํน์ฑ์ ์ง๋๊ณ ์๋ค 1. ์ค์๊ฐ ์ ๊ทผ์ฑ(Real-time-processing) : ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋ ..