불친절한 SQL 프로그래밍 스터디 1일차 - CH2(5)

DevSeoRex·2022년 9월 20일
0

불친절한 SQL 프로그래밍 스터디 1일차 - CH2(5)

5. SELECT 문

SELECT 문은 SELECT 절과 FROM 절로 구성되어 있다. SELECT 절 다음에 FROM 절을 기술하며,
FROM 절이 수행된 후 SELECT 절이 수행된다.

SELECT 절 -- (2)
FROM 절 -- (1)

SELECT 절 -> 조회할 열이나 표현식을 기술
FROM 절 -> 조회할 테이블을 기술

어휘 단위

SQL의 어휘 단위는 아래와 같이 구분되어 있다. 문은 절, 절은 키워드로 구성 된다.

키워드(keyword) -> 개별적인 SQL 요소 : DISTINCT
절 (clause) -> SQL의 한 부분 : SELECT DISTINCT
문 (statement) -> 2개 이상의 절이 결합된 문장 : SELECT DISTINCT deptno FROM emp;

애스터리스크

애스터리스크(asterisk, *)를 기술하면 테이블의 전체 열이 조회된다.

ex) SELECT * FROM dept;

DESC 명령어

DESC 명령어로 테이블의 열 정보를 확인할 수 있다. 명령어 우측에 테이블 명을 기술하면 된다.

ex) DESC dept;

열(column)

SELECT *, deptno FROM dept; 쿼리문을 실행할 경우
ORA-00923 : FROM 키워드가 필요한 위치에 없습니다. 라는 에러가 발생한다.

애스터리스크를 열과 함께 사용하려면 애스터리스크를 테이블로 한정해야 한다.
SELECT dept.*, deptno FROM dept;

열 별칭(coulmn alias)

열은 별칭을 지정할 수 있다. 별칭은 대소문자를 구분하지 않고, 숫자로 시작할 수 없으며, 공백이나 특수문자를
포함할 수 없다. 별칭을 큰 따옴표(")로 감싸면 제약을 회피할 수 있다.
가급적 AS 키워드를 사용하고 큰 따옴표를 사용하지 않는 편이 바람직하다.

ex) SELECT deptno dept_no, dname AS dept_nm, loc AS "Location" FROM dept;

DISTINCT 키워드

SELECT 절에 DISTINCT 키워드나 UNIQUE 키워드를 기술하면 중복 행이 제거된 결과가 반환 된다.
ALL 키워드를 기술하면 중복 행을 제거 하지 않는다. 기본 값은 ALL 이다.

SAMPLE 절

SAMPLE 절을 사용하면 테이블을 샘플링하여 조회할 수 있다. 대용량 테이블에 대한 통계 값을 생성할때 활용 할
수 있다.

ex) SELECT * FROM dept SAMPLE(30);

비율을 30으로 지정했기 때문에 1행만 반환된다.

널(NULL)

널(null)은 값이 없거나 정해지지 않은 것을 의미한다.
오라클 데이터 베이스에서는 널과 빈 문자(")을 동일하게 처리한다.

슈도 컬럼(pseudo column)

슈도 컬럼은 테이블에 저장되지 않은 의사 칼럼으로 쿼리 수행 시점에 값이 결정 된다.

ROWID

ROWID는 데이터베이스에서 행을 식별할 수 있는 고유 값이다. 오브젝트, 파일, 블록, 행 번호의 조합으로 계산된다.

ex) AAAWk8AAJAAAACEAAA 라는 ROWID가 반환되었을 경우

AAAWk8 (자릿수 : 6) -> 데이터 오브젝트 번호(data object number)
AAJ (자릿수 : 3) -> 상대적 파일 번호(relative file number)
AAAACE (자릿수 : 6) -> 블록 번호(block number)
AAA (자릿수 : 3) -> 블록 내의 행 번호(row number)

출처 : 불친절한 SQL 프로그래밍(디비안 , 정희락 저)

0개의 댓글