━━━━ ◇ ━━━━
정보보안실무/데이터베이스

[MariaDB] 테이블 조회, 정렬과 중복제거

728x90
반응형

데이터베이스의 테이블에서는 select로 데이터를 조회하고, order by를 추가해서 지정된 컬럼을 기준 삼아 정렬할 수 있다. 기본 정렬은 오름차순(ASC)이며 내림차순(DESC)도 가능하다. 
컬럼명 말고도 컬럼 번호로 정렬을 할 때는 현재 조회된 컬럼을 기준으로 하여 1번으로 정렬된다. 

테이블 조회 및 정렬

1. 무정렬

SELECT * FROM 테이블명;

 

 

2. 오름차순 정렬

SELECT * FROM 테이블명 ORDER BY 컬럼1 ASC;

 

 

3. ASC를 생략한 오름차순 정렬

SELECT * FROM 테이블명 ORDER BY 컬럼1;

 

 

4. 내림차순 정렬

SELECT * FROM 테이블명 ORDER BY 컬럼1 DESC;

 

 

5. 여러 컬럼으로 정렬

SELECT * FROM 테이블명 ORDER BY 컬럼1 [, 컬럼2, 컬럼3 ...];

 

 

6. 조건식이 있는 경우

SELECT * FROM 테이블명 WHERE 조건식 ORDER BY 컬럼1 [, 컬럼2, 컬럼3 ...];

 

 

7. 컬럼 번호로 정렬

SELECT * FROM 테이블명 WHERE 조건식 ORDER BY 컬럼 번호1 [, 컬럼 번호2, 컬럼 번호3 ...];

 

 

 


테이블 중복제거

1. 기본 형태

SELECT DISTINCT 필드명 FROM 테이블명;

 

2. 실습

아래 테이블(테이블명 = city)을 보면 name과 region에 중복되는 값들이 있다.

  name area population region
0 대구 42 21 경기
1 대구 205 65 경기
2 서울 605 221 경기
3 서울 442 321 경기
4 부산 142 231 경상
5 울산 422 111 강원

 

SELECT DISTINCT region FROM city;

결과
  region
0 경기
4 경상
5 강원

 

 

DISTINCT 뒤에 2개 이상의 컬럼을 사용하게 되면 DISTINCT 뒤에 오는 모든 컬럼을 하나의 행으로 인식하기 때문에 그 행의 중복을 제거할 수 있다. 

 

SELECT DISTINCT region, name FROM city;

결과
  region name
0 경기 대구
2 경기 서울
4 경상 부산
5 강원 울산

 


추가 팁

소수점 DB입력시에는

decimal 사용하기

 

DECIMAL(5): -99999 ~ 99999

DECIMAL(5, 1): -9999.9 ~ 9999.9

DECIMAL(5, 2): -999.99 ~ 999.99

728x90
반응형
COMMENT