๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฆ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (DB) ๐Ÿ“ฆ/๐Ÿ…พ ์˜ค๋ผํด DB & SQL27

ํ…Œ์ด๋ธ” TABLE - 1 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816.. 2021. 2. 17.
๋ถ„์„ํ•จ์ˆ˜, ์ˆœ์œ„ํ•จ์ˆ˜ (RANK, DENSE_RANK, ROW_NUMBER, ROWNUM) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667-- ๋ถ„์„ ํ•จ์ˆ˜/*์ˆœ์œ„ํ•จ์ˆ˜RANK 1 2 3 3 5 6 DENSE_RANK() 1 2 3 3 4 5ROW_NUMBER() 1 2 3 4 5 6 ROWNUMํ•„์š”ํ•œ ์ด์œ : ์ˆœ์„œ๋ฅผ ๋ฒˆํ˜ธ๋กœ ์„ค์ •ํ•˜๊ธฐ์œ„ํ•ด*/ SELECT employee_id, first_nameFROM employeesWHERE employee_id >= 100 AND employee_id 2021. 2. 15.
OVER, PARTITION BY 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 --OVER() ํ•จ์ˆ˜ --select์ ˆ์—์„œ๋งŒ ์‚ฌ์šฉ --GROUP BY ๋ฅผ ๋ณด๊ฐ•ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ํ•จ์Šˆ --select ์ ˆ์—์„œ GROUP์„ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ์‚ฌ์šฉ๊ฐ€๋Šฅ SELECT count(*), department_id --์—๋Ÿฌ FROM employees; SELECT count(*), department_id --์—๋Ÿฌ FROM employees GROUP BY department_id; SELECT department_id, COUNT(*)OVER() --์—๋Ÿฌ FROM employees; SELECT first_name, department_id, COUNT.. 2021. 2. 15.
์ง‘ํ•ฉ (UNION, INTERSECT, MINUS) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 /* ์ง‘ํ•ฉ ํ•ฉ์ง‘ํ•ฉ: UNION - FULLOUTER ๊ต์ง‘ํ•ฉ: INTERSECT - INNER ์ฐจ์ง‘ํ•ฉ: MINUS */ --UNION SELECT job_id FROM employees WHERE job_id IN('AD_VP', 'FI_ACCOUNT') UNION ALL SELECT job_id FROM jobs WHERE job_id IN('AD_VP', 'FI_ACCOUNT'); --INTERSECT --๋งค๋‹ˆ์ €์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ์ถ”๋ฆฐ๋‹ค(๊ต์ง‘ํ•ฉ์œผ๋กœ) --sorting ์ด ์ž๋™์ ์œผ๋กœ ๋œ๋‹ค -- ์ค‘.. 2021. 2. 15.