[SQL] 데이터 조작어
데이터 조회
가장 기본이 되는 문법으로, 테이블에 저장된 데이터를 조건에 맞게 조회할 때 사용합니다.
기본 구문
SELECT * | { [DISTINCT] {{ 컬럼명 | 표현식 } { [AS] [별칭] }, ... }}
FROM 테이블명
WHERE 조건식 [{AND|OR}, 조건식];SELECT
조회 하려는 컬럼명 또는 표현식을 나열할 때 사용합니다.
AS
연산이나 함수 호출 등 복잡한 표현식을 별칭을 사용해 간단하게 명명할 수 있습니다.
SQL 구문 분석 시 문제가 될 수 있는 특수 문자들이 포함 될 경우 큰 따옴표로 감싸서 작성합니다.
DISTINCT
조회하는 모든 컬럼의 조합이 일치하는 행을 제거합니다. SELECT 절에 1번만 기술 가능합니다. 컬럼별 중복 제거는 불가능합니다.
FROM
조회하려는 데이터가 저장된 테이블을 명시합니다.
WHERE
결과 집합을 필터링할 때 사용합니다.
테이블에 저장된 데이터 중에서 원하는 데이터만 선택적으로 검색할 수 있습니다.
WHERE절의 조건문은 컬럼 이름, 연산자, 상수, 산술 표현식을 결합하여 다양한 형태로 표현 가능합니다.
문자와 날짜 타입의 상수 값은 작은 따옴표로 묶어서 표현하고 숫자는 그대로 사용합니다.
제한 조건을 여러개 포함할 수 있으며, 각 각의 제한 조건은 논리 연산자로 연결합니다.
비교 연산자
=: 같다!=,<>: 같지 않다<,<=,>,>=: 작다, 작거나 같다, 크다, 크거나 같다.IS NULL: NULL인지 비교BETWEEN a AND b: a 이상 b 이하의 범위 비교 (경계값 포함)IN (value1, value2, ...): 목록 안에 일치하는 값이 있는지 비교LIKE패턴 :특정 패턴을 만족하는지 비교
패턴 표현을 위해 와일드 카드 사용
%: 0개 이상의 임의의 문자를 의미_: 1개의 임의의 문자를 의미
논리 연산자
AND,&&: 논리곱단,
TRUE AND NULL -> NULL
OR,||: 논리합단,
FALSE OR NULL -> NULL
XOR: 배타적 논리합NOT,!: 논리 부정단,
NOT NULL -> NULL
조건절의 논리 연산의 결과가 NULL인 경우 결과 집합에서 제거됩니다.
정렬
ORDER BY
데이터 조회 결과를 특정 컬럼 값 기준으로 덩랼할 때 활용한다.
여러개의 정렬 기준을 사용하면 먼저 명시한(좌측) 기준부터 순서대로 적용된다.
SELECT ...
FROM ...
WHERE ...
ORDER BY 기준1 [ASC|DESC] [, 기준2 [ASC|DESC], ...];오름차순 :
ASC(기본값) / 내림차순:DESC
LIMIT
Top N 쿼리 또는 페이징 처리 시 활용
SELECT ...
FROM ...
WHERE ...
ORDER BY ...
LIMIT 개수 [, OFFSET n] | n, 개수;OFFSET n 생략 시 OFFSET 0 으로 처리
LIMIT 5, OFFSET 10 = LIMIT 10, 5