데이터베이스/MySQL

MySQL 기본 문법 - 데이터베이스 정렬하기

ksge7 2020. 9. 28. 16:08

데이터를 선택하다보면 정렬이 필요할 때가 있다.

 

그럴 때는 'order by'를 사용하면 된다.

 

create table Web(  -- 테이블 생성
Name varchar(20) not null,
addr varchar(20) not null,
country varchar(20) not null
);

INSERT INTO Web(Name, addr, country) values -- 테이블에 value 입력
('구글', 'google.com', '미국'),
('네이버', 'naver.com', '한국'),
('바이두', 'baidu.com', '중국'),
('야후재팬', 'yahoo.co.jp', '일본'),
('다음', 'daum.net', '한국'),
('엠파스', 'empas.com', '한국'),
('한미르', 'hanmir.com', '한국');

select * from web;  -- web 테이블의 모든 데이터 선택

 

 

위와 같은 코드를 테이블로 나타내면 다음과 같다.

 

테이블의 안의 밸류값은 전부 입력 순서대로 정렬되어있다.

 

이때 해당 테이블의 값을 정렬하고 싶을 때 'order by + 필드명'을 사용하면 된다.

 

select * from web order by name;  -- 이름 순으로 정렬

 

 

이름을 기준으로 정렬하면 위와 같이 코드를 쓰면 그림과 같이 정렬된다.

 

select * from web order by name desc;  -- 이름을 역순으로 정렬

 

만약 역순으로 정렬하고 싶다면 위와 같이 'order by + 필드명' 뒤에 'desc'(descend 약자)를 붙여주면 된다.

 

 

이름 역순으로 정렬하면 위 그림과 같이 나타낼 수 있다.

 

만약 이중 정렬을 할 경우에는 다음과 같이 하면 된다.

 

select * from web order by country desc, name asc;

 

 

쉼표( , )를 찍고나서 정렬 순서를 정해주면 해당 정렬 순서에 맞게 테이블을 이중으로 정렬해줄 수 있다.