[4] Oracle DB - 정렬 (sort, order by)

kangsun·2022년 8월 30일
0

Database

목록 보기
4/8

📌 정렬

  • 데이터베이스에서 데이터를 조회할 때 원하는 순서대로 (문자열, 숫자 등) 정렬해서 볼 수 있다.

[sort 정렬]

  • 특정값(keyfield)을 기준으로 순서대로 재배치
    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차정렬 : 국어 칼럼 정렬
  • 2차정렬 : 국어칼럼 기준으로 이름칼럼 가나다 내림차순으로

• 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)

정렬은 후순위! 조건을 먼저주고 정렬을 한다.


[alter] 문

- 테이블의 구조 수정 및 변경

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;
profile
코딩 공부 💻

0개의 댓글

관련 채용 정보