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

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

์„œ๋ธŒ ์ฟผ๋ฆฌ SUB QUERY ์„œ๋ธŒ ์ฟผ๋ฆฌ(Sub Query) ์ถ”๊ฐ€์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ๋ชฉ์ ์œผ๋กœ ํ•˜๋‚˜์˜ SQL ๋ฌธ์žฅ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” SELECT ๋ฌธ์žฅ์„ ๋งํ•œ๋‹ค. DML์— ์†ํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์žฅ์— ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” SELECT ๋ฌธ์žฅ์—์„œ ๋ฆฌ์ŠคํŠธ๋กœ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์—ฐ์‚ฐ์ž์˜ ์˜ค๋ฅธ์ชฝ์— ์™€์•ผํ•œ๋‹ค. Order by๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. SELECT ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ FROM ์ธ๋ผ์ธ ๋ทฐ WHERE ์ค‘์ฒฉ ์„œ๋ธŒ์ฟผ๋ฆฌ ์ค‘์ฒฉ ์„œ๋ธŒ์ฟผ๋ฆฌ( Nested Subquery ) - WHERE ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ 1.๋‹จ์ผ ํ–‰ 2.๋ณต์ˆ˜(๋‹ค์ค‘) ํ–‰ 3.๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ผ์ธ ๋ทฐ(Inline View) - FROM ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ( Scalar Subquery ) - SELECT ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ ์‹คํ–‰ ์ˆœ์„œ ์„œ๋ธŒ์ฟผ๋ฆฌ ์‹คํ–‰ -> ๋ฉ”์ธ(๋ถ€๋ชจ) ์ฟผ๋ฆฌ .. 2021. 2. 15.
ํŠน์ˆ˜ ์ฟผ๋ฆฌ CASE, DECODE CASE๋Š” ์ž๋ฐ”(JAVA)์˜ SWITCH๋ฌธ๊ณผ ๋น„์Šทํ•˜๋‹ค. DECODE()๋Š” CASE์—์„œ WHEN THEN END ๋ฅผ ์ƒ๋žตํ•œ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๋‹ค. 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 -- CASE == SELECT employee_id, first_name, phone_number, CASE SUBSTR(phone_number, 1, 3) WHEN '515' THEN '์„œ์šธ' WHEN '590' THEN '๋ถ€์‚ฐ' WHEN '650' THEN '๊ด‘์ฃผ' ELSE '๊ธฐํƒ€' END as ์ง€์—ญ FROM employees; SELECT employee_id, first_name, phone_number, CASE WHEN SUBSTR.. 2021. 2. 15.
JOIN๋ฌธ - ๋ฌธ์ œ2 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465--๋ฌธ์ œ1) ์‚ฌ์›๋“ค์˜ ์ด๋ฆ„, ๋ถ€์„œ๋ฒˆํ˜ธ, ๋ถ€์„œ๋ช…์„ ์ถœ๋ ฅํ•˜๋ผSELECT a.first_name, b.department_id, b.department_nameFROM employees a, departments bWHERE a.department_id = b.department_id; --๋ฌธ์ œ2) 30๋ฒˆ ๋ถ€์„œ์˜ ์‚ฌ์›๋“ค์˜ ์ด๋ฆ„,์ง์—…,๋ถ€์„œ๋ช…์„ ์ถœ๋ ฅํ•˜๋ผSELECT a.first_name, a.job_id, b.department_id, b.department_nameFROM employees a, d.. 2021. 2. 10.
JOIN๋ฌธ - ๋ฌธ์ œ1 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109-- 50) ๋ชจ๋“  ์‚ฌ์›์˜ ์ด๋ฆ„, ๋ถ€์„œ๋ฒˆํ˜ธ, ๋ถ€์„œ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜์‹œ์˜ค.(emp,dept)SELECT ename, empno, a.deptno, b.deptno, b.dname FROM emp a , dept bWHERE a.deptno = b.deptno; SELECT *FROM emp;--51) ์—…๋ฌด๊ฐ€ MANAGER์ธ ์‚ฌ์›.. 2021. 2. 10.