Home > 2024 > SQL > ๐Ÿ’‰[SQL] ORDER BY

๐Ÿ’‰[SQL] ORDER BY
SQL

ORDER BY

โ€˜ORDER BYโ€™ ์ ˆ์€ SQL ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ •๋ ฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ด๋ฅผ ํ†ตํ•ด ๋ฐ˜ํ™˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ(ASC) ๋˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ(DESC)์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ˆซ์ž, ๋ฌธ์ž์—ด, ๋‚ ์งœ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • โ€˜ORDER BYโ€™ ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‹ค ์ฝ๊ธฐ ์‰ฝ๊ณ  ๋ถ„์„ํ•˜๊ธฐ ์šฉ์ดํ•˜๊ฒŒ ์ •๋ ฌํ•˜์—ฌ ์ œ๊ณตํ•จ์œผ๋กœ์จ, ๋ฐ์ดํ„ฐ ๋ฆฌํฌํŒ…, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์—์„œ์˜ ๋ฐ์ดํ„ฐ ํ‘œ์‹œ, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

โ€˜OREDER BYโ€™ ์‚ฌ์šฉ ์˜ˆ

  • ํŠน์ • ์—ด์— ๋”ฐ๋ฅธ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ: ์ง์›๋“ค์„ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT * FROM emploees ORDER BY name ASC;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜employeesโ€™ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ โ€˜nameโ€™ ์—ด ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ํŠน์ • ์—ด์— ๋”ฐ๋ฅธ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ: ์ตœ์‹  ์ฃผ๋ฌธ๋ถ€ํ„ฐ ํ‘œ์‹œํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT * FROM orders ORDER BY order_by DESC;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜ordersโ€™ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ โ€˜order_dateโ€™ ์—ด ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์—ฌ๋Ÿฌ ์—ด์— ๋”ฐ๋ฅธ ์ •๋ ฌ: ๋ถ€์„œ๋ณ„๋กœ ๊ทธ๋ฃนํ™”ํ•˜๊ณ , ๊ฐ ๋ถ€์„œ ๋‚ด์—์„œ ๊ธ‰์—ฌ๊ฐ€ ๋†’์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT * FROM employees ORDER BY department ASC, salary DESC;
    

    ์ด ์ฟผ๋ฆฌ๋Š” ๋จผ์ € โ€˜departmentโ€™ ์—ด๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๊ฐ™์€ ๋ถ€์„œ ๋‚ด์—์„œ๋Š” โ€˜salaryโ€™ ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

โ€˜ORDER BYโ€™ ์ ˆ์˜ ํŠน์ง•

  • ๊ธฐ๋ณธ์ ์œผ๋กœ โ€˜ORDER BYโ€™ ๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ(ASC)์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ฐ ์—ด ์ด๋ฆ„ ๋’ค์— โ€˜DESCโ€™ ํ‚ค์›Œ๋“œ๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ ๋™์ผํ•œ ๊ฐ’์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ์—ด์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.
  • โ€˜SELECTโ€™ ์ฟผ๋ฆฌ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ์œ„์น˜ํ•˜๋ฉฐ, โ€˜WHEREโ€™, โ€˜GROUP BYโ€™, โ€˜HAVINGโ€™ ์ ˆ ๋’ค์— ๋ช…์‹œ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • โ€˜ORDER BYโ€™ ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์—ด์ด ์ธ๋ฑ์‹ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค๋ฃฐ ๋•Œ, ์ธ๋ฑ์Šค์˜ ์œ ๋ฌด๋Š” ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.
  • ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์—์„œ๋Š” โ€˜ORDER BYโ€™ ๋กœ ์ธํ•œ ์ถ”๊ฐ€์ ์ธ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ ์ ˆํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

โ€˜ORDER BYโ€™ ์ ˆ์€ SQL ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ˆœ์„œ๋กœ ์‰ฝ๊ฒŒ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ๊ฐ€๋…์„ฑ๊ณผ ๋ถ„์„์˜ ์šฉ์ด์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.