5장. 관계형 데이터베이스와 SELECT
SQLD (SQL 개발자) 필기 개념서 · 2과목. SQL 기본과 활용 · 절 7개
이 장에서 배우는 것
5-1. 관계형 데이터베이스와 키
관계형 데이터베이스(RDB)는 데이터를 테이블(릴레이션) 형태로 저장하고, 테이블 사이의 관계를 키 값으로 표현한다. 1970년 E. F. Codd가 관계형 모델을 제안했다.
5-2. SQL 종류
SQL은 집합 단위로 처리하는 비절차적 언어다. 키워드·테이블명·칼럼명은 대소문자를 구분하지 않지만 문자열 값('...')은 구분한다(Oracle 기준).
5-3. 예시 데이터 (5~8장 공통)
이 장부터 8장까지의 모든 결과는 아래 데이터를 Python sqlite3에 넣고 실제로 실행해 확인했다. Oracle 전용 문법은 동등한 SQLite 문장으로 바꿔 실행했고, NULL 정렬은 Oracle 규칙으로 맞췄다.
5-4. SELECT·DISTINCT·ALIAS
DISTINCT는 SELECT 목록 맨 앞에 한 번만 쓰며, 뒤에 오는 모든 칼럼의 조합에서 중복을 제거한다. 기본값은 ALL. NULL도 하나의 값으로 취급해 한 행으로 남는다.
5-5. 연산자와 우선순위
전체 우선순위: 괄호 → 산술 → 문자 결합 → 비교·SQL 연산자 → NOT → AND → OR
5-6. WHERE 조건
LIKE 와일드카드: %는 0개 이상의 임의 문자, _는 정확히 1개의 임의 문자.
5-7. NULL의 특성과 SELECT 실행 순서 개요
NULL은 '아직 정해지지 않은 값'으로 0이나 공백과 다르다. 산술 연산 결과는 NULL, 비교 결과는 UNKNOWN이며 WHERE는 TRUE인 행만 반환한다.