[SQL] 05. OREDER BY

hhyun·2024년 6월 5일

[SQL]

목록 보기
4/20

📖 ORDER BY

🌟 실습환경

• 실습할 table 생성

	CREATE TABLE celeb 
    (
    	ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
        NAME varchar(32) NOT NULL DEFAULT '',
    	BIRTHDAY date,
    	AGE int,
    	SEX char(1),
    	JOB_TITLE varchar(32),
    	AGENCY varchar(32)
    );

• 실습할 data 추가

INSERT INTO celeb VALUES (1,'아이유','1993-05-16',29,'F','가수,배우','EDAM엔터');
INSERT INTO celeb VALUES (2,'이미주','1994-09-23',28,'F','가수','안테나');
INSERT INTO celeb VALUES (3,'송강','1994-04-23',28,'M','배우','나무엑터스');
...

🌟 ORDER BY : 정렬

• SELECT문에서 data를 특정 column을 기준으로 오름차순 혹은 내림차순 정렬

• ASC(Ascending) : 오름차순으로 정렬 (작은수-> 큰수)
• DESC(Descending) : 내림차순으로 정렬 (큰수-> 작은수)

SELECT column1, column2, ...
FROM tablename
ORDER BY column1, column2, ... ASC | DESC;

• WHERE절이 있는 경우

SELECT column1, column2, ...
FROM tablename
WHERE condition
ORDER BY column1, column2, ... ASC | DESC;

• ASC를 생략하여도 기본은 오름차순 정렬

SELECT column1, column2
FROM tablename
ORDER BY column1, column2;
• [예제]
SELECT name, age, sex
FROM celeb
ORDER BY age;
+--------+------+------+
| name   | age  | sex  |
+--------+------+------+
| 이수현 |   23 | F    |
| 이미주 |   28 | F    |
| 송강   |   28 | M    |
| 아이유 |   29 | F    |
| 강동원 |   41 | M    |
| 차승원 |   48 | M    |
| 유재석 |   50 | M    |
+--------+------+------+

• table에서 column1의 역순으로 정렬한 뒤 column2순으로 정렬하여 조회

SELECT column1, column2
FROM tablename
ORDER BY column1 DESC, column2 ASC;
• [예제]
SELECT name, age, sex
FROM celeb
ORDER BY age, sex;
+--------+------+------+
| name   | age  | sex  |
+--------+------+------+
| 이수현 |   23 | F    |
| 이미주 |   28 | F    |
| 송강   |   28 | M    |
| 아이유 |   29 | F    |
| 강동원 |   41 | M    |
| 차승원 |   48 | M    |
| 유재석 |   50 | M    |
+--------+------+------+

0개의 댓글