WHERE 절
INSERT를 제외한 DML 문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문
비교 연산자
=(같음), <(작음), <=(작거나 같음), >(큼), >=(크거나 같음)
부정 비교 연산자
!=(같지 않음), ^=(같지 않음), <>(같지 않음), not 컬럼명 =(같지 않음), not 컬럼명 >(크지 않음)
SQL 연산자
BETWEEN A AND B : A와 B 사이(A, B 포함)
LIKE ‘비교 문자열’ : 비교 문자열을 포함. %는 모든 문자, _는 한 글자
IN (LIST) : LIST 중 하나와 일치
IS NULL : NULL 값
부정 SQL 연산자
NOT BETWEEN A AND B : A와 B 사이가 아님(A, B 미포함)
NOT IN (LIST) : LIST 중 일치하는 것이 없음
IS NOT NULL : NULL 값이 아님
논리 연산자
연산 처리 순서는 SQL에 명시된 순서와 관계없이 ( ) → NOT → AND → OR
AND : 모든 조건이 TRUE여야 함. ‘그리고’라는 관계로 설명
OR : 하나 이상의 조건이 TRUE여야 함. ‘또는’이라는 관계로 설명
NOT : TRUE면 FALSE이고 FALSE이면 TRUE. 부정
GROUP BY, HAVING 절
GROUP BY
데이터를 그룹별로 묶을 수 있도록 해주는 절로 GROUP BY 뒤에는 그룹핑 기준이 되는 컬럼이 하나 이상 될 수 있음
집계 함수
데이터를 그룹별로 나누면 그룹별로 집계 데이터를 도출하는 것이 가능
COUNT(*) : 전체 Row를 Count하여 반환
COUNT(컬럼) : 컬럼값이 Null인 Row를 제외하고 Count하여 반환
COUNT(DISTINCT 컬럼) : 컬럼값이 Null이 아닌 Row에서 중복을 제거한 Count를 반환
SUM(컬럼) : 컬럼값이 Null이 아닌 컬럼값들의 합계를 반환
AVG(컬럼) : 컬럼값이 Null이 아닌 컬럼값들의 평균을 반환
MIN(컬럼) : 컬럼값들의 최솟값을 반환
MAX(컬럼) : 컬럼값들의 최댓값을 반환
(제목 2) HAVING
GROUP BY 절을 사용할 때 WHERE 절처럼 사용하는 조건절로 주로 데이터를 그룹핑한 후 특정 그룹을 골라낼 때 사용함. SELECT 문에서 논리적으로 GROUP BY 절 이후에 수행되기 때문에 그룹핑 후에 가능한 집계 함수로 조건을 부여할 수 있음
ORDER BY 절
ORDER BY
SELECT 문에서 논리적으로 맨 마지막에 수행되는 절로 SELECT 한 데이터를 정렬할 수 있음. 따로 명시하지 않으면 데이터는 임의의 순서대로 출력. ORDER BY 뒤에는 정렬의 기준이 되는 컬럼이 하나 이상 될 수 있음. 컬럼 뒤에 ASC(Ascending)(오름차순), DESC(Descending)(내림차순), 옵션이 있으며 생략 시 ASC가 기본값
조인(Join)
조인이란?
각기 다른 테이블을 한 번에 보여줄 때 쓰는 쿼리로, 데이터를 카테고리별로 분류하고 정규화하는 RDB에서 조인은 중요한 작업이며, 세 개 이상의 테이블도 조인할 수 있음
내부(Inner) 조인
교집합의 개념으로 두 테이블에 공통 컬럼을 이용하여 조인 조건에 충족하는 데이터만 출력하는 방식
조인의 대상이 되는 컬럼을 명시적으로 선언하기 위해 USING 조건절이나 ON 조건절을 이용할 수도 있음
- 동등(Equi) 조인 : Equal(=) 조건으로 조인하는 것으로 가장 흔히 볼 수 있는 조인
- 비동등(Non Equi) 조인 : Equal(=) 조건이 아닌 다른 조건(BETWEEN, >, >=, <, <=)으로 조인
- 자연(Natural) 조인 : 같은 이름을 가진 모든 컬럼이 모두 동일한 데이터를 가지고 있으면 조인
- 교차(Cross) 조인 : 조인 조건이 없는 경우, 조합할 수 있는 모든 경우를 출력. 카테시안 곱(Cartesian Product)이라고도 함
외부(Outer) 조인
합집합의 개념으로 내부 조인과 다르게 조인 조건에 충족하지 않는 데이터도 출력하는 방식
기존 테이블에 모든 값에 대해 참조 테이블의 데이터가 반드시 존재한다는 보장이 없는 경우 사용
Oracle에서는 모든 행이 출력되는 테이블의 반대편 테이블의 옆에 (+) 기호를 붙여 작성해 주면 됨
- 왼쪽(Left) 외부 조인 : 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터 출력
- 오른쪽(Right) 외부 조인 : 오른쪽 테이블의 모든 데이터와 왼쪽 테이블의 동일 데이터 출력
- 완전(Full) 외부 조인 : 양쪽 테이블의 모든 데이터 출력
'SQL' 카테고리의 다른 글
SQL 활용 그룹 함수와 윈도우 함수 (0) | 2025.03.08 |
---|---|
SQL 활용 서브쿼리와 집합 연산자 (0) | 2025.03.07 |
SQL 기본 함수 (0) | 2025.03.05 |
SQL 기본 RDB와 SELECT 문 (0) | 2025.03.04 |
데이터 모델과 SQL 반정규화 (0) | 2025.03.03 |