NATURAL JOIN์๋ ON ์ ์ธ ์ ์๋ค.SELECT A.COL1, B.COL2FROM SAMPLE1 A NATURAL JOIN SAMPLE BON A.COL1 = B.COL1 Oracle์ ๊ฒฝ์ฐ OUTER JOIN ์์ฑ ์ (+) ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ข๋ณ์ด๋ ์ฐ๋ณ ์ค ํ๋์๋ง ํ๊ธฐํด์ผ ํ๋ค.SELECT A.COL1, B.COL2FROM SAMPLE1 A, SAMPLE BWHERE A.COL1(+) = B.COL1(+); FULL OUTER JOIN์ ๊ตฌํํ๊ธฐ ์ํด์๋ (+) ๊ธฐํธ ๋์ ํ์ค SQL ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Oracle 9i ์ดํ๋ถํฐ๋ ํ์ค SQL FULL OUTER JOIN ๊ตฌ๋ฌธ์ ์ง์ํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ์์ฑํด์ผ ํฉ๋๋ค:SELECT A.COL1, B.COL2FROM TA..
My Tech Blog (Coding/SQL&DataBase)
์ ๋จธ๋ฆฌ ์ฐ๊ธฐ ์ซ๋ค..๋ด๊ฐ ๋ณด๋ ค๊ณ ์ ๋ฆฌ ํค์๋๋ณ๋ก ๊ตฌ๊ธ๊ฒ์ + GPT + ์ฑ
๋ณด๊ณ ์ ๋ฆฌ์คJOIN๊น์ง๋ง ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํ๊ณ ๊ทธ ๋ค์๊บผ๋ ๊ทธ๋ฅ ํผ์์ ๋ณด๊ณ ์๊ธฐ๋ง ํด์ผ ๊ฒ ๋ค...์ ๋ฆฌํ๋ค๊ฐ ์ปจ๋์
๊ด๋ฆฌ ์ ๋ ๋ฏ ใ
ใ
ใ
....์ด์ฐจํผ ๋ณต์ตํ๋๊ฑฐ๋ผ ๊ฐ๋
์ ๋ค ์๊ณ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ง ์ ๋ฆฌํ๊ฑฐ ํฐ์คํ ๋ฆฌ ํ ๊ธฐ๋ฅ ๊ตฌ๋ ค๋ ๋๋ฌด ๊ตฌ๋ฆฌ๋คํ๋ฅผ ๋ง๋ค๋ฉด ์ ๋ฉ๋๋ก ์์์ด ์น ํด์ง๊ณ ํ
๋๋ฆฌ๊ฐ ์๋ณด์ ์ธ๋ด์ฌ ํ
์คํธ..ํฌํ ์ต๋ง ๊น๋ ค์์ผ๋ฉด ๋ง๋๋๋ฐใ
ใ
ํ..... ๋ค์๋ถํฐ๋ Google Spread Sheet๋ก ๋ง๋ค์ด์ผ๊ฒ ์ ์ฐธ๊ณ ๋ก 2024.11.17 ๊ธฐ์ค ๋ด์ฉ๋ฌผ ์ค ํ์ ์ ์๋ณด์ด๊ณ ๋ฐฐ๊ฒฝ์ ๋ง์๋๋ก ์น ํด์ง ๊ฑด ๋ด๊ฐ ๊ณ ์น ์ ์๋ ๋ถ๋ถ์ด ์๋ํ
์คํธ์๋ํฐ์์๋ ๋ฌธ์ ์์ด ๋ณด์ฌ๋ ๋ฐํํ๋ฉด ๋ค ๊นจ์ ธ์์, ๋ช๋ฒ์ ์์ ํด๋ ๋ต์ด ์๋๋ฐ ๋ด์ผ ์ค์ ์ ๋น์ฅ..
์ค์ํ๊ฑฐ ์ ๋ฆฌํ๊ฑฐ ์๋๊ณ ๋ด๊ฐ ๋ณผ๋ ค๊ณ ํท๊ฐ๋ฆฌ๋๊ฑฐ ์ ๋ฆฌํจ ๊ธฐ๋ณธ์ ์ผ๋ก ORACLE ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌMySQL์ด๋ MSSQL์ ๊ฐ๋ณ์ ์ผ๋ก ๋ฐ๋ก ์ ๋ฆฌ ํด ๋์1. NVL(์ธ์1, ์ธ์2)`์ธ์1`์ ๊ฐ์ด `NULL`์ผ ๊ฒฝ์ฐ `์ธ์2` ๋ฐํ, `NULL` ์๋ ๊ฒฝ์ฐ `์ธ์ 1` ๋ฐํ ํ ๋ง๋๋ก ์ฐ์ฐํด์ผ ํ๋๋ฐ NULL ๊ฐ์ด ์์ผ๋ฉด 0์ผ๋ก ์นํํด์ค์ผ ๋๋๊น 0์ผ๋ก ๋ฐ๊พธ๋ ํจ์๋ผ๊ณ ์ธ์ฐ๋ฉด ๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ํ ๋ฆฌ๋ทฐํ๋๋ฐ ํ์ ์ฌ์ด์ NULL์ด ๊ปด ์์ด์ ํ๊ท ์ ๋ชป ๋ด์ค ๋ ๊ทธ๋ฅ ๋ค 0์ผ๋ก ์นํํ ๋ ์ฐ๋๊ฑฐ๋ผ ์ดํดํ๋ฉด ๋๋ค. NVL(expression, replacement_value)expression: ํ์ธํ ๊ฐ.replacement_value: expression์ด NULL์ผ ๋ ๋์ ์ฌ์ฉํ ๊ฐ. ORACLE `N..
์ค์ํ ๋ด์ฉ์ด ์๋ ๋ด๊ฐ ํท๊ฐ๋ฆฌ๋ ๊ฒ๋ง ์ ๋ฆฌํ ๊ฒ1. SUBSTR๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ฌ๋ฆฌ Oracle๊ณผ SQL์์ SUBSTR ํจ์์ ์ธ๋ฑ์ค๋ 1๋ถํฐ ์์. ์ฆ, ๋ฌธ์์ด์์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ ์ธ๋ฑ์ค 1์.SUBSTR(string, start_position, [length])start_position: ์ถ์ถ์ ์์ํ ์์น (1๋ถํฐ ์์) length: (์ ํ์ ) ์ถ์ถํ ๊ธธ์ดSELECT SUBSTR('Hello World', 1, 5) AS Substring FROM dual; ์ ์ฟผ๋ฆฌ์์ SUBSTR('Hello World', 1, 5)๋ ๋ฌธ์์ด 'Hello World'์์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ถํฐ ์์ํ์ฌ 5๊ฐ์ ๋ฌธ์๋ฅผ 'Hello' ์ถ์ถ SELECT SUBSTR('๋ธ๋ํํฌ์ ๋', 3, 2) FROM DUA..
๋ด๊ฐ ๋ณด๋ ค๊ณ ํท๊ฐ๋ฆฌ๋ ๊ฑฐ ์ ๋ฆฌํ ๊ฒ 1. ์ ๊ทํ๋ฐ์ดํฐ์ ์ ํฉ์ฑ(๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ณด์ฅ)ํ๊ธฐ ์ํด ์ํฐํฐ๋ฅผ ์์ ๋จ์๋ก ๋ถ๋ฆฌํ๋ ๊ณผ์ ์ด๋ค. ์ ๊ทํ๋ฅผ ํ ๋ ๋ฐ์ดํฐ ์กฐํ ์ฑ๋ฅ์ ๋ณด์ฅ ๋ชปํ์ง๋ง ์
๋ ฅ, ์์ , ์ญ์ ์ฑ๋ฅ์ ์ผ๋ฐ์ ์ผ๋ก ํฅ์๋๋ค๊ณ ๋ณผ ์ ์๋ค. ๋ด๊ฐ ์์ ์ ์ ๋ฆฌํ๊ฑฐ [Database] ์ ๊ทํ ์ฝ๊ฒ ์ดํดํ๊ธฐ, ์ 1์ ๊ทํ, ์ 2์ ๊ทํ, ์ 3์ ๊ทํ, BCNF์ ๊ทํ(Normalization) ๐ ์ ๊ทํ๋? ์ ๊ทํ(Normalization)๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๋ ์์
์ด๋ค. ์ ๊ทํ๋ฅผ ํด์ค์ผ๋ก์จ ์ฝ์
, ์ญ์ , ๊ฐฑ์ ๋ฑ ์ด์ํ์awesomepossum.tistory.com 1) ์ 1์ ๊ทํ ์๋ฐ - ํ ์นธ์ , ๋ก ํญ๋ชฉ ์ฌ๋ฌ๊ฐ ๋ค์ด ๊ฐ๊ฑฐ - ํ ..
๋ด๊ฐ ๋ณผ๋ ค๊ณ ์ ๋ฆฌํจ1. ์ํฐํฐ์ ํน์ง ๋ค์ ์ค ์ํฐํฐ๊ฐ ๊ฐ๋ ํน์ง์ผ๋ก ์ ํฉํ์ง ์์ ๊ฒ์? - ๋ค๋ฅธ ์ํฐํฐ์ 1๊ฐ ์ด์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค- ๋ฐ๋์ ์์ฑ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.- `1๊ฐ ์ด์`์ ์ธ์คํด์ค๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. => 2๊ฐ- ์ ๋ํฌํจ์ ๋ณด์ฅํ ์ ์๋ ์๋ณ์๊ฐ ์์ด์ผ ํ๋ค. ํ ๊ฐ์ ์ํฐํฐ๋ ๋ ๊ฐ ์ด์์ ์ธ์คํด์ค๋ฅผ ๊ฐ๋๋ค.ํ ๊ฐ์ ์ธ์คํด์ค๋ ๋ ๊ฐ ์ด์์ ์์ฑ์ ๊ฐ๋๋ค.ํ ๊ฐ์ ์์ฑ์ ํ๋์ ์์ฑ ๊ฐ์ ๊ฐ๋๋ค. ์ํฐํฐ : ํ
์ด๋ธ ์ ์ฒด (์: `๊ณ ๊ฐํ
์ด๋ธ`)์ธ์คํดํธ : ํ (์: `๊ณ ๊ฐ 1๋ช
`)์์ฑ : ์ด (์: ๊ณ ๊ฐ์ `์ด๋ฆ`,`์ ํ๋ฒํธ`,`์ฃผ์`)2. ๊ธฐ๋ณธ ์ํฐํฐ, ์ค์ฌ ์ํฐํฐ, ํ์ ์ํฐํฐ๋ฐ์์์ ์ ๋ฐ๋ฅธ ๋ถ๋ฅ`๊ธฐ๋ณธ ์ํฐํฐ`๋ ๋
๋ฆฝ์ ์ผ๋ก ์์ฑ๋์ด ์์ ๋ง์ ์ฃผ์๋ณ์๋ฅผ ๊ฐ์ง๋ฉฐ ๋ค..
์ ๊ทํ(Normalization) ๐ ์ ๊ทํ๋? ์ ๊ทํ(Normalization)๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๋ ์์
์ด๋ค. ์ ๊ทํ๋ฅผ ํด์ค์ผ๋ก์จ ์ฝ์
, ์ญ์ , ๊ฐฑ์ ๋ฑ ์ด์ํ์์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์ค์ด๋ ๋ค. ์ ๊ทํ์ ๋ชฉํ๋ ์ด์์ด ์๋ ๊ด๊ณ๋ฅผ ์ฌ๊ตฌ์ฑํ์ฌ ์๊ณ ์ ์กฐ์ง๋ ๊ด๊ณ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ํฌ๊ณ , ์ ๋๋ก ์กฐ์ง๋์ง ์์ ํ
์ด๋ธ๋ค์ ๋ฌด์์ค ๋ถํดํด์ ์๊ณ ์ ์กฐ์ง๋ ํ
์ด๋ธ๋ก ๋๋๋ ๊ฒ์ ๋งํ๋ค. โ
์ 1์ ๊ทํํ
์ด๋ธ์ ์ปฌ๋ผ์ด ์์๊ฐ(Atomic Value, ํ๋์ ๊ฐ)์ ๊ฐ๋๋ก ํ
์ด๋ธ์ ๋ถํดํ๋ ๊ฒ์ด๋ค.์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด (์ด๋ฆ, ๋์ด, ์ทจ๋ฏธ)๋ฅผ ์ปฌ๋ผ์ผ๋ก ๊ฐ์ง [๊ณ ๊ฐ์ทจ๋ฏธ] ํ
์ด๋ธ์ด ์๋ค.์ด ํ
์ด๋ธ์์ ์ฅ์์๊ณผ ์์ด์ ๋ ์ทจ๋ฏธ๊ฐ ์ฌ๋ฌ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ 1..