SQL 기초4 - 01~02 - (Chapter 05. 실습환경 만들기 ORDER BY - [Chapter 05-1. 실습환경 만들기], [Chapter 05-2. ORDER BY])

HA_·2023년 11월 23일
0

Chapter 05-1. 실습환경 만들기

실습 전, 데이터베이스 확인

show databases;

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

zerobase 사용 (이동)

USE zerobase;

2. 실습할 테이블 정보

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

3. 실습할 테이블 생성

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

4. 실습할 테이블 정보 확인

제대로 들어갔는지 확인!

DESC celeb;

5. 실습할 데이터 추가

추가 하기 전, 테이블의 데이터 확인!

select * from 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엔터테이먼트');


6. 실습할 데이터 확인

혹시라도 잘못 들어간 데이터는 UPDATE 구문을 이용해서 수정하기!

Chapter 05-2. ORDER BY

1. ORDER BY

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

2. ORDER BY 문법

  • ASC(Ascending): 오름차순으로 정렬
  • DESC(Descending): 내림차순으로 정렬
SELECT column1, column2, ...
FROM  tablename
ORDER BY column1, column2, ... ASC | DESC;

ORDER BY 예제 1

예제 풀기 전 데이터 확인!

SELECT * FROM celeb;

예제 풀기!

celeb 테이블에서 이름과 나이를 나이순으로 조회

SELECT age, name
FROM  celeb
ORDER BY age ASC;


기본 dafault가 오름차순 정렬!
파이썬에서 사용하는 판다스와 비교해 볼 때, SORT VALUES 함수와 같은 기능을 갖고 있다! SORT VALUES를 True로 하냐 False로 하냐에 따라 오름차순, 내림차순으로 정렬이 되는 것과 같은 기능을 같고 있는 것!

ORDER BY 예제 2

예제 풀기 전 데이터 확인!

SELECT * FROM celeb;

예제 풀기!

celeb 테이블에서 이름과 나이를 나이의 역순(내림차순)으로 조회

SELECT age, name
FROM  celeb
ORDER BY age DESC;

ORDER BY 예제 3

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

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


나이가 같으면 이름순으로 오름차순 정렬된다.

ORDER BY 예제 4

celeb 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회

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

혼자서 해봅시다.

문제 1. celeb 테이블에서 이름, 생년월일, 성별, 소속사 데이터를 소속사 순으로 정렬하여 조회하세요.

SELECT NAME, BRITHDAY, SEX, AGENCY
FROM celeb
ORDER BY AGENCY;

문제 2. celeb 테이블에서 전체 컬럼을 소속사, 이름 순으로 정렬하여 조회하세요.

SELECT *
FROM celeb
ORDER BY AGENCY, NAME;

문제 3. celeb 테이블에서 이름, 나이, 직업, 소속사 데이터를 소속사 순, 나이 역순으로 정렬하여 조회하세요.

SELECT NAME, AGE, JOB_TITLE, AGENCY
FROM celeb
ORDER BY AGENCY, AGE DESC;

0개의 댓글