sql

[mysql] ORDER BY

scone 2022. 6. 24. 23:13

[실습 환경 구축]

  • 다음의 내용으로 테이블을 만든다.

(1, '아이유', '1993-05-16', 29, 'F', '가수, 텔런트', 'EDAM엔터테이먼트'),
(2, '이미주', '1994-09-23', 28, 'F', '가수', '울림엔터테이먼트'),
(3, '송강', '1994-04-23', 28, 'M', '텔런트', '나무엑터스'),
(4, '강동원', '1981-01-18', 41, 'M', '영화배우, 텔런트', 'YG엔터테이먼트'),
(5, '유재석', '1972-08-14', 50, 'M', 'MC, 개그맨', '안테나'),
(6, '차승원', '1970-06-07', 48, 'M', '영화배우, 모델', 'YG엔터테이먼트'),
(7, '이수현', '1999-05-04', 23, 'F', '가수', 'YG엔터테이먼트');

 

CREATE TABLE celab
(
    ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    NAME varchar(32) NOT NULL DEFAULT '',
    BIRTHDAY date,
    AGE int,
    SEX char(1)
);                                              ... 빼먹은 열이 있어 추가로 채워주겠습니다.

ALTER TABLE celab
ADD COLUMN JOB_TITLE varchar(32);

ALTER TABLE celab
ADD COLUMN AGENCY varchar(32);

INSERT INTO celab VALUES
(1, '아이유', '1993-05-16', 29, 'F', '가수, 텔런트', 'EDAM엔터테이먼트'),
(2, '이미주', '1994-09-23', 28, 'F', '가수', '울림엔터테이먼트'),
(3, '송강', '1994-04-23', 28, 'M', '텔런트', '나무엑터스'),
(4, '강동원', '1981-01-18', 41, 'M', '영화배우, 텔런트', 'YG엔터테이먼트'),
(5, '유재석', '1972-08-14', 50, 'M', 'MC, 개그맨', '안테나'),
(6, '차승원', '1970-06-07', 48, 'M', '영화배우, 모델', 'YG엔터테이먼트'),
(7, '이수현', '1999-05-04', 23, 'F', '가수', 'YG엔터테이먼트');


[ODER BY] 

  • 이름과 나이를 나이순으로 조회
  • 오름차순
SELECT name, age
FROM celab
ORDER BY age ASC            ... 오름차순

나이 오름차순으로 정리되었다.

ASC는 생략해도 오름차순으로 정렬된다.

 

  • 내림차순

 

SELECT name, age
FROM celab
ORDER BY age DESC;            .... 내림차순

 

  • 먼저 나이로 정렬하고, 그 뒤 이름으로 정렬할 수 있다.
SELECT age, name
FROM celab
ORDER BY age ASC, name DESC;

ASC는 또한 생략해도 된다.


[정리] 

SELECT name, birthday, agency FROM celab
ORDER BY birthday ASC, name ASC;

 

WHERE 조건문은 ORDER BY 전에 들어간다.

 

 

제로베이스,제로베이스데이터사이언스스쿨,자료구조