DBMS/Oracle

[20220228 TIL] [ORACLE] ํŠน์ • ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ–‰์„ ๋จผ์ € ๋ณด์—ฌ์ฃผ๋Š” ์ฟผ๋ฆฌ (case๋ฌธ ์‚ฌ์šฉ)

seulye 2022. 2. 28. 10:17

ํ•ญ์ƒ ์ œ๋ชฉ์„ ์ง“๋Š”๊ฒŒ ๊ฐ€์žฅ ํž˜๋“  ๊ฒƒ ๊ฐ™๋‹ค..

 

 

๋˜ ์˜ˆ๋ฅผ ๋“ค์–ด๋ด์•ผ๊ฒ ๋‹ค.

ํ•™๊ต์˜ ํ•™์ƒ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋Š” STUDENT ์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค. 
์ด ์ค‘์—์„œ ๋ฐ˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” CLASSINFO ์นผ๋Ÿผ์—๋Š” 1~9๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.
์ด ๋ทฐ๋Š” ๋ชจ๋“  ์„ ์ƒ๋‹˜๋“ค์ด ๊ณตํ†ต์œผ๋กœ ๋ณผ ๊ฑด๋ฐ, ๊ฐ ์„ ์ƒ๋‹˜๋“ค์ด ๋‹ด์ž„์„ ๋งก๊ณ  ์žˆ๋Š” ๋ฐ˜์ •๋ณด๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜์–ด์˜ค๊ฒŒ ๋œ๋‹ค. 
2๋ฐ˜ ์„ ์ƒ๋‹˜์€ 2๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜์–ด์˜จ๋‹ค. ์ด ๋ทฐ์—์„œ๋Š” 2๋ฐ˜ ๋‹ด์ž„์ด๋ผ๋ฉด 2๋ฐ˜ ํ•™์ƒ๋“ค์„ ๋จผ์ € ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์—ฌ๊ธฐ์„œ ๋ฌผ๋ก  ORDER BY CLASSINFO ๋ฅผ ์“ฐ์ง„ ๋ชปํ•œ๋‹ค. 

 

์ด๋Ÿด ๋•Œ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.. ๋” ์ข‹์€ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•ด ๋ณธ๊ฑฐ.

 

 

SELECT 
CASE WHEN a.classinfo = :classinfo THEN '1'
     ELSE '2'
END AS gubun
, a.*
FROM STUDENT a
ORDER BY gubun

๊ทธ๋ƒฅ ์ด๋ ‡๊ฒŒ ์ž„์˜๋กœ gubun์ด๋ผ๋Š” ์—ด์„ ๋งŒ๋“ค์–ด์„œ 1,2 ๊ตฌ๋ถ„๊ฐ’์„ ์ฃผ์—ˆ๋‹ค.

๋”ฐ๋กœ order by๋ฅผ ์ฃผ์ง€์•Š๋Š” ์ด์ƒ 1์ด ์•ž์— ๋‚˜์˜ค๋Š”๊ฑด ๋ถ„๋ช…ํ•˜์ง€๋งŒ,

๊ทธ๋ƒฅ ํ˜น์‹œ ๋ชฐ๋ผ ์ ์–ด๋ณด์•˜๋‹ค.

 

 

๋!