코딩항해기

[DBMS/Oracle] SELECT문 (+DISTINCT, AS, ORDER BY) 본문

DBMS/Oracle

[DBMS/Oracle] SELECT문 (+DISTINCT, AS, ORDER BY)

miniBcake 2024. 7. 27. 19:28

 

 

데이터 선정 방식에 따른 분류

셀렉션 행 단위로 조회 ex) WHRER절 등
프로젝션 열 단위로 조회 ex) SELECT 컬럼명, 컬럼명 ... 등
조인 두 개 이상의 테이블을 사용하여 조회 ex) INNER JOIN, OUTER JOIN 등

 

 

SELECT문

SELECT문은 데이터베이스에 보관되어있는 데이터를 조회하는데 사용되는 구문이다.

SELECT절과 FROM절을 기본 구성으로 작성하게 되며,

SELECT 조회할 컬럼을, FROM절은 대상이 되는 테이블을 지정한다.

SELECT 컬럼명1, 컬럼명2 FROM 테이블명;
-- *(애스터리스크)로 전체 컬럼을 조회할 수도 있지만 성능에 문제가 있어 잘 사용되지 않는다.

 

SELECT문은 컬럼을 지정하는 것 외에도 다양한 기능을 할 수 있는데,

컬럼의 별칭을 지정할 수도 있고, 중복값을 제거할 수도 있고, 연산을 할 수도 있고, 지정된 값을 보여주는 것도 가능하다.

 

 

DISTINCT

DISTINCT를 명시하면 중복값을 제거하여 보여줄 수 있다. 실제로 테이블의 값이 변경되는 것은 아니다.

SELECT문에서 컬럼명을 나열하기 전에 명시하면, 데이터를 불러올 때 중복되는 열을 제외하고 출력한다.

SELECT DISTINCT 컬럼명1, 컬럼명2 FROM 테이블명;
--컬럼1, 컬럼2의 값이 모두 중복되는 열이 있다면, 해당 열을 제외하고 보여준다.

 

반대되는 기능으로는 ALL이 있는데, ALL은 중복을 상관하지 않고 보여주며, 기본으로 지정되어있는 설정이다.

따라서 생략 가능하다.

 

 

컬럼 별칭 alias

SELECT문으로 조회하게 되면 상단에 컬럼명이 명시되는데, 이 컬럼명을 변경하여 보여주고 싶을 때 사용하는 설정이다.

(연산을 하게 되면 연산식이 컬럼명으로 뜨게 된다.)

SELECT
      컬럼명1 별칭
    , 컬럼명2 "별 칭"
    , 컬럼명3 AS 별칭
    , 컬럼명4 AS "별 칭"
FROM 테이블명;
-- ""를 사용하면 띄어쓰기를 포함할 수 있다.

-- AS는 생략가능하지만 가독성을 위해 넣어주는 것이 좋다.

 

 

ORDER BY

ORDER BY절은 데이터 정렬의 역할을 수행한다.

가장 마지막 자리에 위치하게 되며, 정렬대상이 되는 컬럼을 지정하고, 정렬 옵션을 작성한다.

SELECT 컬럼명1, 컬럼명2 FROM 테이블명 ORDER BY 컬럼명1 DESC;
-- DESC 내림차순 정렬

-- ASC 오름차순 정렬 (기본값으로 생략가능하다.)

 

 

 

기타

그 외에도 WHERE절 GROUP BY절, ROWNUM 등 다양한 기능이 있다.

다른 기능들은 차례로 다른 게시글로 정리해보겠다.