728x90
반응형
데이터 조회 - 셀렉션, 프로젝션, 조인
데이터를 조회하는 데 사용하는 SELECT문은 크게 세 가지 방식으로 나뉜다.
-
셀렉션
행 단위
로 조회테이블의 전체 데이터 중 몇몇 가로줄의 데이터만 선택할 때 사용
ex) 전체 학생 중 졸업생의 데이터만 골라 출력 -
프로젝션
열 단위
로 조회테이블을 구성하는 전체 항목 중 특정 항목만 조회할 때 사용
ex) 전체 학생 데이터에서 학번, 이름, 학과 코드만 조회 -
조인
두 개 이상의 테이블
을 사용하여 조회두 개 이상의 테이블을 연결하여 마치 하나의 테이블인 것처럼 데이터를 조회하는 방식 (외래키를 이용하여 연결)
SELECT절과 FROM절
SELECT [조회할 열1 이름], [열2 이름], ... , [열N 이름]
FROM [조회할 테이블 이름];
SELECT문 : 데이터베이스에 보관되어 있는 데이터 조회 (SELECT절과 FROM절로 구성)
SELECT절 : FROM절에 명시한 테이블에서 조회할 열이나 데이터 조합, 연산식 지정
FROM절 : 조회할 데이터가 저장된 테이블명
DISTINCT
중복된 데이터를 삭제
-- 열 한개 중복 제거
SELECT DISTINCT DEPTNO
FROM EMP;
-- 열 여러 개 중복 제거
SELECT DISTINCT DEPTNO, JOB
FROM EMP;
ALIAS
별칭을 통해 열 이름 임의로 지정 (열 이름이 길거나 보안, 데이터 노출의 문제로 사용)
-- 별칭 지을 열 이후 한 칸 띄우고 별칭 지정
SELECT ENAME, SAL, SAL*12+COMM ANNSAL, COMM
FROM EMP;
-- 별칭 지을 열 이후 한 칸 띄우고 큰따옴표로 묶어 별칭 지정
SELECT ENAME, SAL, SAL*12+COMM "ANNSAL", COMM
FROM EMP;
-- 별칭 지을 열 이후 한 칸 띄우고 AS 뒤에 별칭 지정
SELECT ENAME, SAL, SAL*12+COMM AS ANNSAL, COMM
FROM EMP;
ORDER BY
데이터를 정렬된 상태로 출력
SELECT [조회할 열1 이름], [열2 이름], ... , [열N 이름]
FROM [조회할 테이블 이름]
...
ORDER BY [정렬하려는 열 이름(하나 또는 하나 이상)] [옵션(오름차순_ASC, 내림차순_DESC)];
-- 각 열에 내림차순과 오름차순 동시 사용
SELECT *
FROM EMP
ORDER BY DEPTNO ASC, SAL DESC;
주의점?
정렬하는 데는 많은 자원(비용)을 소모하기 때문에 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다.
즉, SQL문 효율이 낮아진다. = 서비스 응답 시간이 느려진다.
728x90
반응형
'Programming > Database' 카테고리의 다른 글
[ORACLE 초급] 오라클 함수 - 단일행 함수(문자, 날짜, 숫자 ...), 다중행 함수(SUM, AVG, COUNT ...) (0) | 2020.09.14 |
---|---|
[ORACLE 초급] 조건 검색 - WHERE, 연산자 (0) | 2020.09.14 |
[Database] 데이터베이스 구성 요소, 오라클 특징 - 자료형, 객체 (0) | 2020.09.13 |
[Database] 데이터베이스 관련 기초 개념 '데이터베이스', 'DBMS', '데이터 모델', 'SQL' (0) | 2020.09.01 |
[ORACLE] 문자열 관련 함수 정리 (3) - LPAD, RPAD, TRIM, LTRIM, RTRIM (0) | 2020.04.16 |