1. ORDER BY

 

๐Ÿฐ SELECT ๋ช…๋ น์— ํ•„๋“œ ์ง€์ •์ด ์—†์„ ๊ฒฝ์šฐ ๋ ˆ์ฝ”๋“œ์˜ ์ถœ๋ ฅ ์ˆœ์„œ๋Š” DBMS์˜ ๋””ํดํŠธ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฆ„.

๐Ÿฐ ๊ด€๊ณ„ํ˜• DB์—์„œ ๋ ˆ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์  ์ˆœ์„œ๋Š” ํฐ ์˜๋ฏธ๊ฐ€ ์—†๊ณ , ๋Œ€์‹  ์ถœ๋ ฅํ•  ๋•Œ ORDER BY ์ ˆ๋กœ ์ •๋ ฌ ์ˆœ์„œ๋ฅผ ์›ํ•˜๋Š”๋Œ€๋กœ ์ง€์ •.

// ๊ธฐ๋ณธํ˜•์‹
ORDER BY ํ•„๋“œ [ASC | DESC]
 

 

๐Ÿฐ ORDER BY ๋‹ค์Œ์— ์ •๋ ฌ ๊ธฐ์ค€ ํ•„๋“œ๋ฅผ ์ ๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ์ผ ๊ฒฝ์šฐ ASC ํ‚ค์›Œ๋“œ๋ฅผ, ๋‚ด๋ฆผ์ฐจ์ˆœ์ผ๊ฒฝ์šฐ DESC ํ‚ค์›Œ๋“œ๋ฅผ ์ง€์ •.

๐Ÿฐ ์ˆœ์„œ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ๋””ํดํŠธ์ธ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ ์šฉ๋˜๋ฏ€๋กœ ํ‚ค์›Œ๋“œ ASC๋Š” ๋ณดํ†ต ์ƒ๋žต.

SELECT * FROM tCity ORDER BY popu;
SELECT * FROM tCity ORDER BY popu ASC;
 
 
 
 

๐Ÿ”–  ์ธ๊ตฌ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ธ๊ตฌ๊ฐ€ ์ž‘์€ ๋„์‹œ๋ถ€ํ„ฐ ์ถœ๋ ฅ.

 

 

 

 

 

 

SELECT * FROM tCity ORDER BY popu DESC;
 
 

 

 

๐Ÿ”–  DESC๋ฅผ ๋ถ™์ด๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ์ธ๊ตฌ๊ฐ€ ๋งŽ์€ ๋„์‹œ๋ถ€ํ„ฐ ์ถœ๋ ฅ.

 

 

 

 

 


 

 

๐Ÿฐ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๊ธฐ์ค€ ํ•„๋“œ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ  โžก๏ธ  ์ฒซ ๋ฒˆ์งธ ๊ธฐ์ค€ ํ•„๋“œ์˜ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด, ๋‘ ๋ฒˆ์งธ ๊ธฐ์ค€ ํ•„๋“œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •.

SELECT region, name, area, popu FROM tCity ORDER BY region, name DESC;
SELECT region, name, area, popu FROM tCity ORDER BY region ASC, name DESC;
 

 

 
 

 

๐Ÿ”– ์ง€์—ญ๋ณ„๋กœ ์ •๋ ฌํ•˜๋˜ ๊ฐ™์€ ์ง€์—ญ์— ์†ํ•œ ๋„์‹œ๋ผ๋ฆฌ๋Š” ์ด๋ฆ„์˜ ๋‚ด๋ฆผ ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ.

๐Ÿ”– ORDER BY ๋’ค์— ๊ธฐ์ค€ ํ•„๋“œ๋ฅผ ์ฝค๋งˆ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋‚˜์—ดํ•˜๋˜ ๊ฐ ๊ธฐ์ค€๋ณ„๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ๊ณผ ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ๋”ฐ๋กœ ์ง€์ • ๊ฐ€๋Šฅ.

๐Ÿ”– region์€ ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋””ํดํŠธ์ธ ASC๊ฐ€์ ์šฉ. 1์ฐจ ์ •๋ ฌ ๊ธฐ์ค€์ธ ์ง€์—ญ์ด ๊ฐ™์œผ๋ฉด 2์ฐจ ๊ธฐ์ค€์ธ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋˜ ์ด๋•Œ๋Š” DESC ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ.

 

 

 

 

 

SELECT region, name, area, popu FROM tCity ORDER BY area ASC, name DESC;
 

 

 

 

 

 

๐Ÿ”– area๊ฐ€ ๋™์ผํ•œ ๊ฐ’์ด ์—†์œผ๋ฏ€๋กœ ๋‘ ๋ฒˆ์งธ ์ •๋ ฌ ๊ธฐ์ค€์ธ name์€ ํšจ๋ ฅ์„ ๋ฐœํœ˜ํ•˜์ง€ ์•Š์Œ.

 

 

 

 

 

 

 

 

 

 

๐Ÿฐ ORDER BY ๊ธฐ์ค€์€ ๋ณดํ†ต ํ•„๋“œ๋ช…์œผ๋กœ ํ•˜์ง€๋งŒ ์ˆœ์„œ๊ฐ’์œผ๋กœ๋„ ์ง€์ • ๊ฐ€๋Šฅ. ํ•„๋“œ ์ˆœ์„œ ๊ฐ’์€ ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ์— ๋“ฑ๋กํ•œ ์ˆœ์„œ.

๐Ÿฐ tCity์˜ ๊ฒฝ์šฐ name์ด 1๋ฒˆ, area๊ฐ€ 2๋ฒˆ, popu๊ฐ€ 3๋ฒˆ

SELECT * FROM tCity ORDER BY area;
SELECT * FROM tCity ORDER BY 2;
 
 
 
 

 

๐Ÿ”–  ๋ฉด์ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ ค๋ฉด area๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ๋Œ€์‹  2๋ฒˆ ํ•„๋“œ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋„ ๊ฒฐ๊ณผ๋Š” ๊ฐ™์Œ

 

 

 

 

 

 

 

 

 

 

๐Ÿฐ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜์ง€ ์•Š์€ ๊ณ„์‚ฐ๊ฐ’๋„ ์ •๋ ฌ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.

SELECT name, popu * 10000 / area  FROM tCity  ORDER BY popu * 10000 / area;
SELECT name, popu * 10000 / area  AS tmp  FROM tCity  ORDER BY tmp;
 

 

 

 

๐Ÿ”– ์ธ๊ตฌ์ˆ˜์™€ ๋ฉด์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ ์ธ๊ตฌ๋ฐ€๋„์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋„์‹œ๋ฅผ ์ •๋ ฌ.

๐Ÿ”– ์ •๋ ฌ ๊ธฐ์ค€์„ ๊ผญ ๊ฐ™์ด ์ถœ๋ ฅํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ์ œ๋Œ€๋กœ ์ •๋ ฌํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ธ๊ตฌ๋ฐ€๋„๋ฅผ ๊ฐ™์ด ์ถœ๋ ฅ

 

 

 

 

 

 

 


 

 

๐Ÿฐ  ๋ ˆ์ฝ”๋“œ์˜ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๋Š” WHERE ์ ˆ๊ณผ ์ถœ๋ ฅ ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•˜๋Š” ORDER BY ์ ˆ์„ ๋™์‹œ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

SELECT * FROM tCity WHERE region = '๊ฒฝ๊ธฐ' ORDER BY area;
 

 

 

๐Ÿ”–  ๊ฒฝ๊ธฐ๋„์— ์žˆ๋Š” ๋„์‹œ๋งŒ ๊ณจ๋ผ ๋ฉด์ ๋ณ„๋กœ ์ •๋ ฌ.

      ์ด๋•Œ ORDER BY ์ ˆ์€ WHERE ์ ˆ๋ณด๋‹ค ๋’ค์ชฝ์— ์žˆ์–ด์•ผ ํ•จ.

 

 

 


 

 

2. DISTINCT

 

๐Ÿฐ ์ค‘๋ณต๋œ ๊ฐ’์„ ์ œ๊ฑฐํ•  ๋•Œ DISTINCT ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์ธ๋‹ค.

    ex. ๋„์‹œ ํ…Œ์ด๋ธ”์—์„œ region ํ•„๋“œ๋งŒ ์ฝ์–ด ๋„์‹œ๊ฐ€ ์†ํ•œ ์ง€์—ญ์˜ ๋ชฉ๋ก์„ ์กฐ์‚ฌํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ SELECT region FROM tCity; ๋กœ ์ž‘์„ฑ

            โžก๏ธ  ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๊ฒฝ์šฐ ๊ฐ™์€ ๋„์‹œ๊ฐ€ ์—ฌ๋Ÿฟ ์žˆ๋Š” ๊ฒฝ์šฐ ์ค‘๋ณตํ•ด์„œ ์ถœ๋ ฅ

            โžก๏ธ  ๋‹จ์ˆœํžˆ ์–ด๋–ค ์ง€์—ญ์ด ์žˆ๋Š”์ง€๋งŒ ์กฐ์‚ฌํ•œ๋‹ค๋ฉด ๊ตณ์ด ์ค‘๋ณต๋œ ๊ฐ’์„ ๋ฐ˜๋ณตํ•ด์„œ ์ถœ๋ ฅํ•  ํ•„์š”๊ฐ€ ์—†์Œ

            โžก๏ธ  DISTINCT ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋ณต๋œ ๊ฐ’ ์ œ๊ฑฐ.

SELECT DISTINCT region FROM tCity;
SELECT DISTINCT region FROM tCity ORDER BY region;
 

 

 

 

๐Ÿ”–  DISTINCT ํ‚ค์›Œ๋“œ๋กœ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ํ•˜๋‹ค ๋ณด๋ฉด ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง.

๐Ÿ”–  ๋งŒ์•ฝ ์ค‘๋ณต๋„ ์ œ๊ฑฐํ•˜๊ณ  ์ •๋ ฌ๋„ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ORDER BY์ ˆ์„ ๋ถ™์ž„.

 
 
 
 
 
 

 
 

๐Ÿฐ DISTINCT์˜ ๋ฐ˜๋Œ€ ํ‚ค์›Œ๋“œ๋Š” ALL ์ด๋ฉฐ ์ค‘๋ณต ์ œ๊ฑฐ ์—†์ด ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅ.

๐Ÿฐ ALL์ด ๋””ํดํŠธ๋ผ์„œ ๊ตณ์ด ์ง€์ •ํ•  ํ•„์š”๋Š” ์—†์Œ.

SELECT ALL depart FROM tStaff;
 

 

 

 


 

 

3. LIMIT

 

// ๊ธฐ๋ณธ ํ˜•์‹
SELECT .... LIMIT [๊ฑด๋„ˆ๋›ธ ๊ฐœ์ˆ˜], ์ด๊ฐœ์ˆ˜
 

๐Ÿฐ LIMIT ๊ตฌ๋ฌธ์œผ๋กœ ํ–‰์ˆ˜๋ฅผ ์ œํ•œ.

๐Ÿฐ ๊ฑด๋„ˆ๋›ธ ๊ฐœ์ˆ˜๋ฅผ ์ƒ๋žตํ•˜๋ฉด 0์œผ๋กœ ์ ์šฉํ•˜์—ฌ ์ฒซ ํ–‰ ๋ถ€ํ„ฐ ์ถœ๋ ฅ

 

SELECT * FROM tCity ORDER BY area DESC LIMIT 4;
SELECT * FROM tCity ORDER BY area DESC LIMIT 0, 4;
 

 

 

๐Ÿ”–  ๋ฉด์ ์ด ๋„“์€ ์ƒ์œ„ 4๊ฐœ ๋„์‹œ๋ฅผ ๊ตฌํ•˜๋Š” ๊ตฌ๋ฌธ.

 

 

 

 

 

SELECT * FROM tCity ORDER BY area DESC LIMIT 2, 3;
SELECT * FROM tCity ORDER BY area DESC LIMIT 3 OFFSET 2;
 

 

 ๐Ÿ”–  ์•ž์ชฝ 2๊ฐœ๋Š” ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ดํ›„ 3๊ฐœ์˜ ํ–‰์„ ๊ตฌํ•จ.

 ๐Ÿ”–  ์•ž์ชฝ ๋ช‡ ๊ฐœ๋ฅผ ๊ฑด๋„ˆ๋›ด ํ›„ ์ผ์ • ๊ฐœ์ˆ˜ ๋งŒํผ ๋ณด์—ฌ์ฃผ๋Š” ์ด ๊ตฌ๋ฌธ์€ ๊ฒŒ์‹œ๋ฌผ์„ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋Š์–ด์„œ ์ถœ๋ ฅํ•  ๋•Œ ์‹ค์šฉ์ .

 

 

 

 


 

 

4. OFFSET FETCH

 

๐Ÿฐ  ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€ ๋ ˆ์ฝ”๋“œ๋งŒ ์กฐํšŒํ•˜๋Š” ์ž‘์—…์€ ๋นˆ๋„๊ฐ€ ๋†’๊ณ  ์‹ค์šฉ์ ์ด์ง€๋งŒ DBMS ๋ณ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ•์ด ๋‹ค๋ฆ„.

       โžก๏ธ SQL ํ‘œ์ค€์ด ์ƒˆ๋กœ OFFSET FETCH ๋ฌธ๋ฒ•์„ ๋งŒ๋“ฆ.

       โžก๏ธ ์ผ๋ถ€๋ถ„์„ ํŠน์ •ํ•˜๋ ค๋ฉด ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•ด์•ผ ๋˜์„œ ORDER BY ๋ฌธ์ด ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•จ.

       โžก๏ธ ๊ทธ๋ž˜์„œ OFFSET FETCH ๋Š” ๋ณ„๋„์˜ ๊ตฌ๋ฌธ์ด ์•„๋‹ˆ๋ผ ORDER BY์˜ ์˜ต์…˜

// ๊ธฐ๋ณธ ํ˜•์‹
ORDER BY ๊ธฐ์ค€ํ•„๋“œ OFFSET ๊ฑด๋„ˆ๋›ธ ํ–‰ ์ˆ˜ ROWS FETCH NEXT ์ถœ๋ ฅํ•  ํ–‰ ์ˆ˜ ROWS ONLY;
 
SELECT * FROM tCity ORDER BY area DESC OFFSET 0 ROWS FETCH NEXT 4 ROWS ONLY;
SELECT * FROM tCity ORDER BY area DESC LIMIT 0, 4;
 
 

 

๐Ÿ”–  ๋ฉด์  ์ˆœ์œผ๋กœ ์ƒ์œ„ 4๊ฐœ์˜ ๋„์‹œ๋ฅผ ์ถœ๋ ฅ. ๋ฉด์ ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ์ •๋ ฌ ํ›„ 4๊ฐœ์˜ ํ–‰๋งŒ ์ฝ์Œ.

       โžก๏ธ OFFSET์„ ์ง€์ •ํ•˜๋ฉด ์•ž์ชฝ ์ผ๋ถ€๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Œ.

 

 

 

 

 

SELECT * FROM tCity ORDER BY areabDESC OFFSET 2 ROWS FETCH NEXT 3 ROWS ONLY;
SELECT * FROM tCity ORDER BY area DESC LIMIT 2, 3;
 
 
 
 

๐Ÿ”–  ์ƒ์œ„ 2๊ฐœ๋ฅผ ๊ฑด๋„ˆ ๋›ฐ๊ณ  ๋‹ค์Œ ์ˆœ์„œ์ธ 3, 4, 5์œ„ 3๊ฐœ์˜ ๋„์‹œ๋ฅผ ์กฐ์‚ฌ.

 

 
 
 
 

 

 

๐Ÿฐ WHERE ๊ตฌ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํ•„ํ„ฐ๋ง์„ ๋จผ์ € ํ•˜๊ณ  ๊ทธ ์ผ๋ถ€ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Œ.

SELECT * FROM tCity WHERE metro = 'n' ORDER BY area DESC OFFSET 2 ROWS FETCH NEXT 3 ROWS ONLY;
SELECT * FROM tCity WHERE metro = 'n' ORDER BY area DESC LIMIT 2, 3;
 
 
 
 

๐Ÿ”–  ๊ด‘์—ญ์‹œ๋Š” ์ œ์™ธํ•˜๊ณ  ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ 3๋“ฑ์—์„œ 5๋“ฑ๊นŒ์ง€ ์ถœ๋ ฅ.

 

 

 

 

 

 

 

 

[ ๋‚ด์šฉ ์ถœ์ฒ˜ : IT ํ•™์› ๊ฐ•์˜ ]

 

 

+ Recent posts