๐๏ธ ๊ธฐ์ ์ฌํ/SQLD9 ์ด์ 1 2 ๋ค์ [SQLD] sqld ์ํ ์์ ๊ถ์ผ๋ก ํฉ๊ฒฉํ๋ ๋ฐฉ๋ฒ ์ด์๋ก ํฉ๊ฒฉํ sqld ์๊ฒฉ์ฆ ์ํ๊ณต๋ถ ์์ ์ (10์) sql ๋ฐฐ๊ฒฝ์ง์ - ํ์์์ ์ค๋ผํด ๊ธฐ๋ณธ ๋ฌธ๋ฒ ํ์ตํจ - โ๋์ - ํต์ฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋งโ ํ์ ์์ ๋ฐ ๊ฐ์ธ ํ์ต - ์คํ๋ง + MyBatis + MySQL ํ๋ก์ ํธ ๊ฒฝํ์ผ๋ก ๊ธฐ๋ณธ์ ์ธ SQL๋ฌธ ๊ฒฝํ ์์ - ํ์ ์ฌํ๊ฐ์๋ก โ๋์ - ์น์ ํ SQL ํ๋โ ์๊ฐ ํ ๊ฐ์ธ ํ์ต ์ค๋ผํด ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๊ด๋ จ ๊ธ์ ํฐ์คํ ๋ฆฌ์ ๊ณต๊ฐ๋์ด ์์ด์ 2023.11.11 - [๐ฅ๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค/SQL] - [Oracle] SQL์ด๋ ์ค์ ๊ณต๋ถ ๊ธฐ๊ฐ sqld ์๊ฒฉ๊ฒ์ ๊ธฐ์ถ๋ฌธ์ ์ง : 10/15-10/21 sqld ์์ฝ์ ๋ฆฌ ๋ฐ ๊ธฐ์ถ๋ฌธ์ : 11/6-11/10 sqld ๊ธฐ์ถ ๋ฌธํ ์ ํ๋ธ ๋ฐ ์ค๋ต์ ๋ฆฌ 11/11-11/17 ์ํ์ ์ํ ๊ณต๋ถ ๋ฐฉ๋ฒ SQL ์๊ฒฉ๊ฒ์ ์ค์ ๋ฌธ์ (๋ ธ๋ญ์ด ๋ฌธ.. 2023. 12. 27. [ํ๊ธฐ] SQLD 51ํ ์ฌ์ ๊ฒฐ๊ณผ๋ฐํ ํ์ธ ๋ฐฉ๋ฒ ๋ฐ ๊ฒฐ๊ณผ ๐ SQLD ์ฌ์ ๊ฒฐ๊ณผ๋ฐํ ํ์ธ ๋ฐฉ๋ฒ ์ฌ์ ๊ฒฐ๊ณผ๋ฐํ๋ ์ค์ ์ฑ์ ๊ณต๊ณ ์ผ๋ก๋ถํฐ 1์ฃผ์ผ ์ , 16์์ ํํ์ด์ง์์ ํ์ธ ๊ฐ๋ฅํ๋ค https://www.dataq.or.kr/www/mypage/accept/result.do ๋ฐ์ดํฐ์๊ฒฉ์ํ www.dataq.or.kr ๋ก๊ทธ์ธ > ์ํ๊ฒฐ๊ณผ > ๊ฒฐ๊ณผํ์ธ ๋์ ๊ฒฐ๊ณผ๋ฐํ ๋์ ์ฌ์ ๊ฒฐ๊ณผ๋ฐํ๋ ํฉ๊ฒฉ์์ ๐ ํคํค '์ํ๊ฒฐ๊ณผ ํ์ธ' ๋ฒํผ์ ๋๋ฌ๋ด๋ ๊ตฌ์ฒด์ ์ธ ์ ์๋ ๋์ค์ง ์์. ์ค์ ์ฑ์ ๊ณต๊ณ ์ผ์ธ 1์ฃผ์ผ ๋ค๋ฅผ ๊ธฐ๋ค๋ ค์ผํจ ์๋๋ค?? '์ํ๊ฒฐ๊ณผ ํ์ธ' ๋ฒํผ ๋๋ฅด๋ฉด ๊ณผ๋ชฉ๋น ๊ตฌ์ฒด์ ์ธ ์ ์ ๋์จ๋ค!! ์ฒ์์ 20์ ๋ง ๋ณด๊ณ ์, ๊ธฐ๋ณธ ๋ฐฐ์ ๋ง ๋์ค๋๊ตฌ๋ ํ๋๋ฐ... 1๊ณผ๋ชฉ ๋ค ๋ง์๊ฑฐ์์! ๋ด ์ ์๋? 84์ ! ๐ ๐ ๐ ์ทจ์ง์ด ์ด๋ ค์ด ์๊ธฐ์ ์๊ฒฉ์ฆ ์ํ์ ํฉ๊ฒฉํ๊ฒ ๋์ด์ ์ ๋ง ๊ธฐ์๋ค! 2023. 12. 8. [ํ๊ธฐ] SQLD ์ํ ์ ์ ๋ฐฉ๋ฒ *์ํ์๋ ํํ 9์ 30๋ถ๊น์ง ๊ณ ์ฌ์ค ์ ์คํ์ฌ ๋ณธ์ธ ํ์ธ์ ๋ง์น ํ ์๋ด์ฌํญ ๋ฑ์ ์์งํด์ผ ํ๋ฉฐ, ์์ํ ์ดํ์๋ ์ ์คํ ์ ์์ต๋๋ค. *์ํ์๋ โ ์ธ์ ๋ฒ์ ์ ๋ถ์ฆ โก์ํํ โข๊ฒ์ ์ ํ๊ธฐ๊ตฌ(์ปดํจํฐ์ฉ ์ธ์ธํ ๋๋ ๋ณผํ) ๋ฅผ ์ง์ฐธํด์ผ ํฉ๋๋ค ์์์_์ค๋น๋ฌผ KData ๋ฐ์ดํฐ์๊ฒฉ๊ฒ์ ์ฌ์ดํธ์์ ์ผ์ ์ ํ์ธํ๊ณ ์ ์ ๊ฐ๋ฅํจ. ์ ์ ๊ด๋ จ๋ 3๊ฐ ์ค ํ๋๋ฅผ ๋๋ฅด๋ฉด ๋จ. https://www.dataq.or.kr/www/main.do ์ ์๊ฐ ์์๋๋ 10:00 ์ ๊ฐ์๋ ๋๊ธฐ์ด์ด ์์ ์ ๋๋ก ์ฌ๋์ด ๋ชฐ๋ฆฌ์ง๋ง 1-2์๊ฐ๋ง ์ง๋๋ ๋๊ธฐ์์ด ์ ์๊ฐ ๊ฐ๋ฅํจ ์ ์ฒญ ํ๋ฉด์ ๊ณ ์ฌ์ฅ ์ ํ๋์๋ ์ฃผ์๊ฐ ๋์ค์ง ์์ผ๋ฏ๋ก, ๊ณ ์ฌ์ฅ๋ช ์ ์ ๊ธฐ์ตํด๋๊ณ ์ ์ฒญํ๊ธฐ ์ ์ ์ ์ฆ๋ช ์ฌ์ง์ ์ฒจ๋ถํด์ผ ํ๋๋ฐ ๋์ค์ ๊ฒฐ์ ์ดํ์ ์ ์์กฐํ[๋ชฉ๋ก]์์ ์์ ์ด.. 2023. 11. 20. [ํ๊ธฐ] sqld 51ํ์ฐจ ์ํ ์์ ํ๊ธฐ ๊ธฐ์กด ๊ธฐ์ถ๋ณด๋ค ์ด๋ ค์ ๋ค... ์ข๋ ์ ํํ ์ง๊ณ ๋์ด๊ฐ์ผ๋ฉด ์ข์์ ํ ๋ฐ ํ๊ณ ํํํ๋ ๋ถ๋ถ not exists์ not in rows between ๊ณผ range between ํนํ ์๋์ฐ ํจ์ ํ์ฉ์ ๋ํด ์ ๋๋ก ์ดํดํ์ผ๋ฉด ์ ๋ง ์ข์๋ฏ ๋ช ๋ น์ด์ธ์ง ์ ์ด์ด์ธ์ง ๋ฌธ์ ์์ฝ๊ณ ์ฃผ๊ด์ ๋ต ์ฐ๊ธฐ ํนํ ์ฃผ๊ด์์ floor(-2.4)์ฒ๋ผ ์๋ฌด ์๊ฐ์์ด ์ฐ๋ฉด ์ค์ ํ ์ ์๋๋ก ํจ์ ์๋ ํจ์ ์ด ์์ผ๋ ์นจ์ฐฉํ๊ฒ ํ ๊ฒ. ๋ฌธ์ ์ง๊ฐ ์ ์ธ์๋์๋์ง ํ์ธํ๋ ์๊ฐ์ด ์๋๋ฐ ์ด๋ ์ฌ๋๋ค์ด ์๊ทผ ๋ง์ง๋ง ํ์ด์ง์ ์ฃผ๊ด์์ ๋์ถฉ ๋ณด๊ณ ๋ต์ ์ฐ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ ์๋๋ฅด๋ฉด ์ค์๊ฐ ์๊ธฐ๋ฏ๋ก ์ ๋ง ๋ญ ํ๋ ํ์ด์ผ๊ฒ ๋ค ์๊ฐ์ด ๋ ๋ค๋ฉด ํ ๋ฌธ์ ๋ง ๊น๊ฒ ์ฝ๊ณ ๋ต ์๊ฐํด๋๊ธฐ. ์์ธ๋ก 1์๊ฐ 30๋ถ์ด๋ผ๋ ์ํ์๊ฐ์ด ์งง๊ฒ ๋๊ปด์ง๋ค. ๋ฌธ์ ๊ฐ ์ด 50๋ฌธํญ์ด.. 2023. 11. 18. [SQLD๋ฒผ๋ฝ์น๊ธฐ] ์ถ๊ฐ ์ค๋ต๋ ธํธ ISLEAF = 1 : ๋ด๊ฐ ์ฝ์ ๋ฐ์ดํฐ๊ฐ ์์์ด ์์ผ๋ฉด 1, ์์ผ๋ฉด 0 SELECT A, B, AVG(SAL) OVER ( PARTITIONA BY DEPT ORDER BY SAL BETWEEN 1 PRECEDING AND 1 FLLOWING ) AS C1 FROM your_table; SELECT A, B: A์ B๋ผ๋ ๋ ๊ฐ์ ์ปฌ๋ผ์ ์ ํํฉ๋๋ค. AVG(SAL) OVER (...) AS C1: SAL ์ปฌ๋ผ์ ๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌ๋ ์๋์ฐ(๋ฐ์ดํฐ์ ํ์ ์งํฉ) ๋ด์์ ํ๊ท ๊ธ์ฌ๋ฅผ ๊ณ์ฐํ๊ณ , ์ด ๊ฒฐ๊ณผ๋ฅผ C1์ด๋ผ๋ ๋ณ์นญ์ผ๋ก ํ์ํฉ๋๋ค. PARTITIONA BY DEPT : ๊ฐ DEPT (๋ถ์)๋ ๋ณ๋์ ํํฐ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ORDER BY SAL: ์๋์ฐ๋ฅผ SAL ์ปฌ๋ผ์ ๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌํฉ๋๋ค. BETWEEN.. 2023. 11. 17. [SQLD๋ฒผ๋ฝ์น๊ธฐ] SQL ์๊ฒฉ๊ฒ์ ์ค์ ๋ฌธ์ ์ค๋ต๋ ธํธ(2๊ณผ๋ชฉ-3) 2-3 SQL ์ต์ ํ ๊ธฐ๋ณธ์๋ฆฌ ๋น์ฉ๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ : ํต๊ณ์ ๋ณด ํ์ฉํ ํจ์จ์ ์คํ๊ณํ ์ ํ ๊ท์น๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ : ROWIDํ์ฉํ ํ ์ด๋ธ ์ธ๋ฑ์ค๋ถํฐ ์์ (Single row by rowid) B-TREE ์ธ๋ฑ์ค : ๋ธ๋์น๋ธ๋ก๊ณผ ๋ฆฌํ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ. OLTP ์์คํ ํ๊ฒฝ์์ ๋ง์ด ์ฌ์ฉ CLUSTERED ์ธ๋ฑ์ค : ์ธ๋ฑ์ค ๋ฆฌํํ์ด์ง = ๋ฐ์ดํฐ ํ์ด์ง. ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ธ๋ฑ์ค ํค ์ปฌ๋ผ์์ผ๋ก ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ๋ ฌ๋์ด์์ BITMAP ์ธ๋ฑ์ค : ํ๋์ ์ธ๋ฑ์ค ํค ์ํธ๋ฆฌ๊ฐ ๋ง์ ํ์ ๋ํ ํฌ์ธํฐ๋ฅผ ์ ์ฅํ๊ณ ์์ SQL Server์ ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค (=์ ์ฌ) Oravle์ IOT ์ธ๋ฑ์ค๋ UPDATE ์์ ์ ๋ถํ์์ ์๋ ์์ OLTP : OLTP(Online Transaction Processing)๋ ์ค์๊ฐ ํธ๋์ญ์ .. 2023. 11. 17. [SQLD๋ฒผ๋ฝ์น๊ธฐ] SQL ์๊ฒฉ๊ฒ์ ์ค์ ๋ฌธ์ ์ค๋ต๋ ธํธ(2๊ณผ๋ชฉ-2) 2-2 SQL ํ์ฉ ์์๊ด๊ณ์ฐ์ฐ์ : SELECT(where์ ๋ก), PROJECT(select์ ๋ก), JOIN, DIVIDE USING : ๋ ํ ์ด๋ธ์ ์กฐ์ธํ ๋ ํน์ ์ด ๊ธฐ์ค์ผ๋ก ์กฐ์ธ ์ ์ฌ์ฉํจ. USING ์กฐ๊ฑด์ ์๋ JOIN ์นผ๋ผ์ ๋ํด AliasX ํ ์ด๋ธ์ด๋ฆ ์ ๋์ฌX CROSS JOIN : ๋ชจ๋ ๋ฐ์ดํฐ ์กฐํฉ ์ ์ (๋ด๋น์ฌ์ํ ์ด๋ธ๊ณผ ๊ณ ๊ฐํ ์ด๋ธ์ด ์๋๋ฐ ์์ง ์๋ก ๋งค์นญ ์๋ ์ผ์ด์ค๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ) ๊ณ ๊ฐ์ด ๋ฐฐ์ ๋์ง ์์ ๋ด๋น์ฌ์์ ๋ํด์๋ ๊ณ ๊ฐ ๊ด๋ จ ์ปฌ๋ผ์ด NULL๋ก ํ์ SELECT * FROM ๋ด๋น์ฌ์ LEFT OUTER JOIN ๊ณ ๊ฐ ON ๋ด๋น์ฌ์.id = ๊ณ ๊ฐ.๋ด๋น์ฌ์_id; // ํ๋์ ์ธ ANSI SQL ํ์ค ์กฐ์ธ ๊ตฌ๋ฌธ์ด ์ง์๋จ^^ SELECT * FROM ๋ด๋น์ฌ์, ๊ณ ๊ฐ WHERE ๋ด๋น์ฌ์.์ฌ.. 2023. 11. 17. ์ด์ 1 2 ๋ค์