[SQL] ORDER BY

허재훈·2023년 4월 19일
0

SQL

목록 보기
4/17
post-thumbnail

1. 실습환경 만들기

실습할 데이터베이스로 이동

  • zerobase 사용 (이동)
USE zerobase;

  • NULL NO : null 값을 허용하지 않겠다.
  • NULL YES : null 값을 허용하겠다.
  • KEY PRI(PRIMARY KEY) : 이 데이터들을 구분하는 유니크한 값을 ID로 정하겠다
  • ID auto_increment : 혹시라도 입력할 때 ID 값을 빠뜨렸을 때 자동으로 1씩 증가시켜주겠다

실습할 테이블 정보

  • celeb 테이블 구경하기 (자세한 내용은 기초 이후에)

실습할 테이블 생성

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 varchae(32)
);
  • NOT NULL : NULL 을 허용하지 않음, 기본값은 허용(YES)
  • AUTO_INCREMENT : 자동으로 증가시킴
  • PRIMARY KEY : 키값이다.
  • varchar(32) : 문자열
  • DEFAULT '' : DEFAULT 를 공백으로 지정
    • NAME 을 입력하지 않으면 공백이 들어감

실습할 테이블 정보 확인

DESC celeb;

실습할 데이터 추가

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', '탤런트', '나무액터스');
INSERT INTO celeb VALUES (4, '강동원', '1981-01-18', 41, 'M', '영화배우, 탤런트', 'YG엔터테인먼트');
INSERT INTO celeb VALUES (5, '유재석', '1972-08-14', 50, 'M', 'MC, 개그맨', '안테나');
INSERT INTO celeb VALUES (6, '차승원', '1970-06-07', 48, 'M', '영화배우, 모델', 'YG엔터테인먼트');
INSERT INTO celeb VALUES (7, '이수현', '1999-05-04', 23, 'F', '가수', 'YG엔터테인먼트');
# 위가 옆으로 너무 길어서 아래와 같이 편집함
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', '탤런트', '나무액터스');

INSERT INTO celeb VALUES 
(4, '강동원', '1981-01-18', 41, 
'M', '영화배우, 탤런트', 'YG엔터테인먼트');

INSERT INTO celeb VALUES 
(5, '유재석', '1972-08-14', 50, 
'M', 'MC, 개그맨', '안테나');

INSERT INTO celeb VALUES 
(6, '차승원', '1970-06-07', 48, 
'M', '영화배우, 모델', 'YG엔터테인먼트');

INSERT INTO celeb VALUES 
(7, '이수현', '1999-05-04', 23, 
'F', '가수', 'YG엔터테인먼트');

2. ORDER BY

ORDER BY

  • SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬하여 조회

ORDER BY 문법

• ASC(Ascending): 오름차순으로 정렬, 디폴트값
• DESC(Descending): 내림차순으로 정렬

SELECT column1, column2, ...
FROM tablename
ORDER BY column1, column2, ... ASC|DESC;
  • 예제 1) celeb 테이블에서 이름과 나이를 나이순으로 조회
SELECT age, name
FROM celeb
ORDER BY age ASC;

  • 예제 2) celeb 테이블에서 이름과 나이를 나이의 역순(내림차순)으로 조회
SELECT age, name
FROM celeb
ORDER BY age DESC;

  • 예제 3) celeb 테이블에서 이름과 나이를 나이와 이름순으로 정렬하여 조회 (ASC 를 생략해도 기본은 오름차순 정렬)

  • 나이가 같을 경우 이름순

SELECT age, name
FROM celeb
ORDER BY age, name;

  • 예제 4) celeb 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회
SELECT age, name
FROM celeb
ORDER BY age DESC, name ASC;

위 글은 제로베이스 데이터 취업 스쿨의 강의자료를 참고하여 작성되었습니다.

profile
허재

0개의 댓글