๐๏ธ์ํํธ์จ์ด/๐SQL & MySQL
sql join
sql ๊ด๋ จ ๋ฌธ์ . [1๊ณผ๋ชฉ] 1. ๋ค์ ์ค ์ฌ์ฌ์ฉ์ฑ์ด ๋์ ๋ชจ๋ธ๋ง์ผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์? โ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง โก ๊ฐ๋ ์ ๋ชจ๋ธ๋ง โข ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง โฃ ๋ด๋ถ ๋ชจ๋ธ๋ง 2. ๋ค์ ์ค ๋ฐ์ ๊ทํ์ ๋ํ ๊ธฐ์ ๋ก์ ๊ฐ์ฅ ๋ถ์ ์ ํ ๊ฒ์? โ ๊ธฐ๋ฅ์ฑ ์ปฌ๋ผ ์ถ๊ฐ โก ์ค๋ณต ์ปฌ๋ผ ์ถ๊ฐ โข ํ์ ์ปฌ๋ผ ์ถ๊ฐ โฃ PK์ ์ํ ์ปฌ๋ผ ์ถ๊ฐ 3. ๋ค์ ์ค ์๋์์ ์ค๋ช ํ๋ ๋ถํ ์ ๊ฐ๋ ์ผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์? ๋๋ ๋ฐ์ดํฐ ๋ฐ์์ ๋ฐ๋ฅธ ํ ์ด๋ธ ๋ถํ ์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ๋ก์ฐ ๋จ์๋ก ๋ถํ ํ์ฌ ์ฑ๋ฅ์ ํ๋ฅผ ์๋ฐฉ ํ๋ค. โ ์์ง ๋ถํ โก ์ํ ๋ถํ โข ๋ฒ์ ๋ถํ โฃ ๋ฆฌ์คํธ ๋ถํ 4. ๋ค์ ์ค ๋ถ์ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ฅ์ ์ผ๋ก ๊ฐ์ฅ ์ ์ ํ์ง ์์ ๊ฒ์? โ ์์คํ ๊ฐ์ฉ์ฑ ์ ํ โก ๋น ๋ฅธ ์๋ต ์๋ โข ๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ ์ฆ๊ฐ โฃ ๊ฐ ์ง์ญ ์ฌ์ฉ์์ ์๊ตฌ ์์ฉ ์ฆ..
sqld ๊ธฐ์ถ๋ฌธ์ 21ํ,30ํ
๊ณต๋ถํ๋ค ํ์ํ ๊ฐ๋ ์ ์ ์ ๋ฆฌํด๋ ์๋ฃ๊ฐ ์์ด ์ ๋ฆฌํ๊ณ ์ ํฌ์คํ ํ๋ค. ์ถ์ฒ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ๊ฐ ํฌ๋ผ์ ์์ผ๋ฃจ๋์์ ๋ฐํ๋๋ค. 21ํ : 30ํ :
SQL ๊ต์ฌ pdf
์์ ์ SQL์ ๊ณต๋ถํ๊ธฐ ์ํด, ์ค์ ๊ต์ฌ๋ฅผ ์์๋ค. ํ์ง๋ง, ๋งค์ผ ์ด๋์ ๋ค๊ณ ๋ค๋๋ฉด์ ๋ณด๊ธฐ๊ฐ ๋ถํธํ์๋ค. ๊ทธ๋์ ์ฌ๋ฌ ์๋ฃ๋ค์ ์์นญํด์, ์ด๋์ค์๋ ํํ์ด ๊ณต๋ถํ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ์๋ค. ๊ทธ๋ฌ๋ค๊ฐ ์ป์ ์๋ฃ๊ฐ ์๋๋ฐ, ๋์ค์ ํฌ๋ฉงํ๊ฒ๋๋ฉด ๋ค์ ์ฐพ๊ธฐ ํ๋ค ๊ฒ ๊ฐ์ ๋ด ๋ธ๋ก๊ทธ์ ์ฌ๋ ค๋๋ ค๊ณ ํ๋ค. ํน์ ์นดํ๋ ๋์ฃผ๊ณ ํ๋ ์ ์ฒด๋ ์๊ฒ ์ง๋ง, ์ด์งํผ ์ง์์ด๋ ๋ชจ๋ ํจ๊ป ๋๋ ์ ์๋ค๋ฉด ๋ชจ๋ ๋ฐ์ ์ ๊ธฐํ๋ฅผ ๊ฐ์ ์ ์์ผ๋ ์ข์ ๊ฒ ๊ฐ๋ค. ๋ฐ์ดํฐ ์ ๋ฌธ๊ฐ ํฌ๋ผ์์ ํ์ธํ ์ ์๋ ์๋ฃ์ด๋ฉฐ, ํ๊ตญ ๋ฐ์ดํฐ ์ฐ์ ์งํฅ์ dbguide.net ๊ฒ์์๋ฃ๋ฅผ ํ์ฉํ ์๋ฃ์์ ๋ฐํ๋ค. ๋ชฉ์ฐจ๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ด๋ก ์ ์ธ ๋ด์ฉ์ด๋ ์ค์ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ํ ์ฝ๋ฉํธ๊ฐ ์์ธํ ๊ธฐ์ ๋์ด ์์ผ๋, ์ฐธ๊ณ ํ๋ฉด ์ข๊ฒ ๋ค. ๋์ค์ sql ํ์ฉํ ๋..
[ํ๋ก๊ทธ๋๋จธ์ค] WHERE๋ฌธ (TO BE CONTINUE)
1. where ๋ฌธ์์ not ์ฐ๋ ๋ฐฉ๋ฒ SELECT ANIMAL_ID, NAME์ผ๋ก ๋ ์ปฌ๋ผ์ ANIMAL_INS ํ ์ด๋ธ์์ ์กฐํํ๊ณ WHERE ์ ์์ Aged๊ฐ ์๋ ๊ฐ๋ง ๊ฐ์ ธ์ค๋ฏ๋ก ํน์ != ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋๋ฐ != ๋ ๋ก ์๋ ๋ณํ๋๊ธฐ์, ๋ ์ค ์๋ฌด๊ฑฐ๋ ํ ๊ฐ๋ ๋์๊ฐ๋ค. ์ฑ๋ฅ์ ์ํด์๋ ๋ฅผ ์จ์ฃผ๋ ๊ฒ์ด ์ข๋ค ์??.... ์๋ฅผ๋ค์ด, SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION 'Aged' 2. ์ ๋ ฌ์ ์กฐ๊ฑด์ด 2๊ฐ์ธ ๊ฒฝ์ฐ SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC; -- ๊ฐ์ ์ด๋ฆ์์ ๊ฐ๋ฅผ ๋จผ์ ์กฐํ > ๊ณ ์์ด 3. ์์ 1๊ฐ๋ง..
[ํ๋ก๊ทธ๋๋จธ์ค] ์ญ์ ์ ๋ ฌ
์ญ์ ์ ๋ ฌ ๋ฌธ์ ์ ๋๋ค. ์ฌ์ด ๋ฌธ์ ์ ๋๋ค. ๊ฐ์ ์ด์ ์กฐ๊ธ์ฉ ์ก์๋ณผ๊น ํฉ๋๋ค. ๋ฌธ์ ์ค๋ช ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME..
[SQL] ์ค๋ผํด ๋ฌด๋ฃ ๋ฐ์ดํฐ๋ฒ ์ด์ค SQL ๋ค์ด๋ก๋ ๋งํฌ
์ฌ์ดํธ ๋ค์ด๊ฐ๋ฉด ์ ๋ฃ๋ฒ์ ๋ง ์๋๋ฐ, ์ฌ๊ธฐ ๋งํฌํ๊ณ ๊ฐ์ ์ ๋ฐ๋ก ๋ค์ด๊ฐ๋ฅํฉ๋๋ค. https://www.oracle.com/database/technologies/xe18c-downloads.html 1.1 Oracle Database Express Edition License Agreement Oracle Database XE is available on Linux x86-64 and Microsoft Windows platforms. Oracle Database Express Edition for Microsoft Windows Oracle Database Express Edition for Microsoft Windows is released under the Oracle Technology Netwo..
[Oracle SQL] Ch4. ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ํ์
๋ชฉํ ๋ฑ๊ฐ ์กฐ์ธ ๋ฐ ๋น๋ฑ๊ฐ ์กฐ์ธ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์์ธ์คํ๋ select ๋ฌธ ์์ฑ ํฌ๊ด ์กฐ์ธ์ ์ฌ์ฉํ์ฌ ์ผ๋ฐ์ ์ผ๋ก ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ๋ฐ์ดํฐ ๋ณด๊ธฐ ์์ฒด ์กฐ์ธ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ ์์ฒด ์กฐ์ธ ์ฉ์ด #๋ฑ๊ฐ์กฐ์ธ #ํฌ๊ด์กฐ์ธ #์์ฒด์กฐ์ธ employees , departments ์นดํฐ์์ ๊ณฑ -์กฐ์ธ ์กฐ๊ฑด์ ์๋ตํ ๊ฒฝ์ฐ -์กฐ์ธ ์กฐ๊ฑด์ด ๋ถ์ ํฉํ ๋ -์ฒซ๋ฒ์งธ ํ ์ด๋ธ์ ๋ชจ๋ ํ์ด ๋๋ฒ์งธ ํ ์ด๋ธ์ ๋ชจ๋ ํ์ ์กฐ์ธ๋ ๊ฒฝ์ฐ ์นดํฐ์์ ๊ณฑ์ด ์์ฑ๋์ง ์๋๋ก ํ๋ ค๋ฉด, where ์ ์ ํญ์ ์ ํจํ ์กฐ์ธ ์กฐ๊ฑด์ ํฌํจํ๊ธฐ ๋ฑ๊ฐ ์กฐ์ธ์ผ๋ก ๋ ์ฝ๋ ๊ฒ์
[Oracle SQL] Windows ํจ์ 1
1. ๊ทธ๋ฃน ๋ด ์์ ํจ์ - rank ํจ์ ๊ธฐ๋ณธ์ ์ธ table ์ ๋ณด Q. ์ฌ์ ๋ฐ์ดํฐ์์ ๊ธ์ฌ๊ฐ ๋์ ์์์ job ๋ณ๋ก ๊ธ์ฌ๊ฐ ๋์ ์์๋ฅผ ๊ฐ์ด ์ถ๋ ฅํ๊ธฐ 2. ๊ทธ๋ฃน ๋ด ์์ ํจ์ - dense_rank ํจ์ RANKํจ์์ ํก์ฌํ๋ ๋์ผํ ์์๋ฅผ ํ๋์ ๊ฑด์๋ก ์ทจ๊ธ Q. ์ฌ์๋ฐ์ดํฐ์์ ๊ธ์ฌ๊ฐ ๋์ ์์์, ๋์ผํ ์์๋ฅผ ํ๋์ ๋ฑ์๋ก ๊ฐ์ฃผํ์ฌ ์ถ๋ ฅ select job, ename, sal, rank() over (order by sal desc) as rank dense_rank() over (order by sal desc) as dense_rank from emp ์๋ฌ๊ฐ ๋๋๋ฐ ์ด์ ๊ฐ ๋ญ์ง? 3. ๊ทธ๋ฃน ๋ด ์์ ํจ์ - row_number ํจ์ ๋์ผํ ๊ฐ์ด๋ผ๋ ๊ณ ์ ํ ์์๋ฅผ ๋ถ์ฌ Q. ์ฌ์ ๋ฐ์ดํฐ์์..
[Oracle SQL] Windows ํจ์
1. ์คํฌ๋ฆฝํธ ํ์ผ ์คํ @ ์คํ๋ฐฉ๋ฒ : @ํ์ผ์ด๋ฆ.ํ์ฅ์๋ช ์ง๊ธ๊น์ง ๋ฐฐ์ ๋ ์ฟผ๋ฆฌ๋ค์ ํน์ง : 1) ํ๊ณผ ํ์ ๋น๊ตํ๊ฑฐ๋ ์ฆ, ํ๊ณผ ํ๊ณผ ํ๊ฐ์ ๊ด๊ณ ์ ์, ๋น๊ต, ์ฐ์ฐ 2) ๋ถ์ํจ์ = ์์ ํจ์ 3) ์ค์ฒฉ ์ฌ์ฉ ๋ถ๊ฐ, ์๋ธ ์ฟผ๋ฆฌ์์๋ ์ฌ์ฉ ๊ฐ๋ฅ windows ํจ์ ๊ด๋ จ ํจ์ ์ ๊ทธ๋ฃน ๋ด ์์ ๊ด๋ จ ํจ์ RANK, DESNSE_RANK, ROW_NUMBER ๊ทธ๋ฃน ๋ด ์ง๊ณ ๊ด๋ จ ํจ์ SUM, MAX, MIN, AVG, COUNT ๊ทธ๋ฃน ๋ด ํ ์์ ๊ด๋ จ ํจ์ FIRST_VALUE, LAST_VALUE, LAG, LEAD ๊ทธ๋ฃน ๋ด ๋น์จ ๊ด๋ จ ํจ์ CUME_DIST, PERCENT_RANK, NTILE, RATIO_TO_REPORT ํต๊ณ ๋ถ์ ๊ด๋ จ ํจ์ CORR, COVER_POP over์ ์ฌ์ฉํ์ฌ ํ๊ณผ ํ..
[Oracle SQL] Ch18. ๊ณ ๊ธ ์๋ธ ์ฟผ๋ฆฌ
๋ชฉํ ์ฌ๋ฌ ์ด ์๋ธ ์ฟผ๋ฆฌ ์์ฑ ๋ ๊ฐ์ด ๊ฒ์๋๋ ๊ฒฝ์ฐ ์๋ธ ์ฟผ๋ฆฌ์ ๊ธฐ๋ฅ ์ค๋ช From ์ ์ ์๋ธ ์ฟผ๋ฆฌ ์์ฑ SQL์์ ์ค์นผ๋ผ ์๋ธ ์ฟผ๋ฆฌ ์ฌ์ฉ ์๊ด ์๋ธ ์ฟผ๋ฆฌ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ ํ ์ค๋ช ์๊ด ์๋ธ ์ฟผ๋ฆฌ ์์ฑ ์๊ด ์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ํ ๊ฐฑ์ ๋ฐ ์ญ์ Exists ๋ฐ Not exists ์ฐ์ฐ์ ์ฌ์ฉ With ์ ์ฌ์ฉ 1. ์๋ธ์ฟผ๋ฆฌ ์๋ธ ์ฟผ๋ฆฌ(๋ด๋ถ ์ง์)๋ ๊ธฐ๋ณธ ์ง์ ์คํ ์ ์ ํ ๋ฒ ์คํ๋จ ์๋ธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ ๊ธฐ๋ณธ ์ง์(๋ฉ์ธ์ฟผ๋ฆฌ)์ ์ฌ์ฉ๋จ 149๋ฒ ์ฌ์์ด ๋ฐ๋ ์ฌ์์ ๊ธ์ฌ๋ณด๋ค ๋์ ๊ธ์ฌ๋ฅผ ๋ฐ๋ ์ฌ์์ ๋ง์ง๋ง ์ฑ์ ๋ณด์ฌ์ฃผ์์ค 10500 ๋ณด๋ค ํฐ ๊ธ์ก 1.1 ์๋ธ์ฟผ๋ฆฌ Q. ํ์ฌ์ ํ๊ท ๊ธ์ฌ๋ณด๋ค ์ ์ ๊ธ์ฌ๋ฅผ ๋ฐ๋ ์ฌ์์ ์ด๋ฆ์ ๋ชจ๋ ํ์ํ์์ค 2. ๋ค์ค ์ด ์๋ธ์ฟผ๋ฆฌ - ์(pairwise)๋น๊ต - ๋น์(n..