- 데이터베이스에서 데이터를 조회할 때 원하는 순서대로 (문자열, 숫자 등) 정렬해서 볼 수 있다.
asc
: 오름차순(Ascending Sort) / 기본값desc
: 내림차순(Descending Sort)[형식]
order by 칼럼명1
order by 칼럼명1, 칼럼명2, 칼럼명3, ~~~
• 1차정렬
• 2차정렬
: 1차정렬을 기준으로 칼럼명2 값을 다시 정렬한다.
<성적 테이블>
• 전체 레코드를 이름순으로 정렬해서 조회하시오.
select uname
from sungjuk
order by uname asc;
-- 성적테이블에서, 이름 오름차순으로 정렬하고, 이름을 조회하시오.
select uname
from sungjuk
order by uname;
-- 기본이 오름차순이기 때문에 생략 가능하다.
- 이름 가나다순으로 정렬된다.
select uname
from sungjuk
order by uname desc;
-- 성적테이블에서, 이름을 내림차순으로 정렬하고,
이름 칼럼을 조회하시오.
• 국어점수 순으로 정렬해서 조회하시오.
select uname, kor
from sungjuk
order by kor;
-- 성적테이블에서 국어점수 순으로 정렬해서 이름과 국어점수를 조회하기
- 1차정렬 : 국어점수 순으로 정렬
- 2차정렬 : 국어점수가 같다면 이름을 기준으로 내림차순 정렬
select uname, kor
from sungjuk
order by kor, uname desc;
• 1차(kor), 2차(eng), 3차(mat) 정렬
select uname, kor, eng, mat
from sungjuk
order by kor desc, eng desc, mat desc;
1차 - 국어점수가 내림차순 정렬
2차 - 국어점수가 같은 영어칼럼 내림차순 정렬
3차 - 국어점수도 같고 영어점수도 같은 수학칼럼을 내림차순 정렬
• 평균 70점 이하 행을 이름순으로 조회하시오.
(1) 평균 70점 이하 행 조회
select uname, aver
from sungjuk
where aver<=70;
(2) 평균 70점 이하 + 이름 오름차순 조회
select uname, aver
from sungjuk
where aver<=70
order by uname;
🚨 에러!
select uname, aver
from sungjuk
order by uname
where aver<=70; -- (X)
정렬은 후순위! 조건을 먼저주고 정렬을 한다.
- 테이블의 구조 수정 및 변경
1. 컬럼 추가
[형식]
alter table table명 add (컬럼명 데이터타입);
-- music 칼럼 추가
alter table sungjuk add(music int null);
2. 컬럼명 수정
[형식]
alter table table명 rename column 원래컬럼명 to 바꿀컬럼명;
-- 국어 칼럼 kor을 korea칼럼명으로 수정하시오.
alter table sungjuk rename column kor to korea;
3. 컬럼 데이터 타입 수정
[형식]
alter table table명 modify(컬럼명 데이터타입);
-- music 칼럼의 자료형을 varchar로 수정하시오.
alter table sungjuk modify(music varchar(5));
4. 컬럼 삭제
[형식]
alter table table명 drop(컬럼명);
-- music 칼럼을 삭제하시오.
alter table sungjuk drop(music);
select * from sungjuk;