-
[MySQL] SQL 연산자 모음 및 사용예시 (BETWEEN, IN, LIKE, UNION, UNION ALL)직접 해보기/SQL 2024. 8. 13. 01:18728x90반응형
✅ SQL 연산자 종류
연산자 구분 연산자 연산자 설명 비교 연산자 = 같음 > 보다 큼 (초과) < 보다 작음 (미만) >= 보다 크거나 같음 (이상) <= 보다 작거나 같음 (이하) <> , != 같지 않음 논리 연산자 AND AND 앞뒤의 조건을 모두 만족할 때 OR OR 앞뒤의 조건 중 하나라도 만족할 때 NOT NOT 뒤의 조건과 반대일 때 산술 연산자 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 집합 연산자 UNION 2개 이상의 테이블의 합집합 (중복 행은 제거함) UNION ALL 2개 이상의 테이블을 중복행 포함해 합침 특수 연산자 BETWEEN BETWEEN a AND b a와 b의 값 사이 NOT BETWEEN a AND b a와 b의 값 사이가 아님 IN IN (List) 리스트에 포함됨 값일 때 NOT IN (List) 리스트에 포함된 값이 아닐 때 LIKE LIKE 'A%' 문자열이 A로 시작하는 LIKE '%A' 문자열이 A로 끝나는 LIKE '%A%' 문자열이 A를 포함하는 NOT LIKE '%A%' 문자열이 A를 포함하지 않는 NULL IS NULL NULL과 같을 때 IS NOT NULL NULL이 아닐 때
1️⃣ 집합 연산자 UNION , UNION ALL
- 집합 연산자를 사용하려면, 대상 테이블들의 열 개수와 데이터타입이 일치해야 합니다. 테이블들을 위아래로 붙이는 셈이니까요.
- 명령어는 아래 예시처럼 SELECT문 사이에 써줍니다.
UNION UNION ALL - 2개 이상의 테이블에서 UNION을 사용하면,
테이블간 중복되는 행은 제외시켜줍니다. - 다시말해 2개 이상 중복되는 그대로 남겨져있지 않고
1개만 남아있도록 정리해줍니다. - 이렇게 중복이 제외되므로, 합쳐진 결과 테이블의 행수는
원래 테이블들의 행수의 합보다 작을 수 있습니다.
- 같은 상황에서 UNION ALL을 사용하면,
합쳐지면서 중복되는 행이 생겨도 제외하지 않습니다. - 같은 데이터 행이 2개 3개 있어도 그대로 유지됩니다.
- 따라서 합쳐진 결과 테이블의 행수는
원래 테이블들의 행수의 합과 같아야 합니다.
2️⃣ 특수 연산자
- 특수 연산자는 보통 WHERE 절에서 조건을 걸어, 데이터를 필터링 하는데에 많이 쓰입니다.
- 위에서 정리했듯이, BETWEEN, IN, LIKE, NULL 등이 있습니다.
2️⃣-1. BETWEEN 사용예시
BETWEEN a AND b NOT BETWEEN a AND b 2️⃣-2. IN 사용예시
- 주로 IN 뒤에 리스트를 사용하며, 이 리스트에 포함된 값인지 아닌지를 판단하는 조건절로 많이 쓰입니다.
IN (List) NOT IN (List) 2️⃣-3. LIKE 사용예시
- 문자열을 기준으로 판단하고자 할 때, WHERE 조건절에서 LIKE를 사용하면 됩니다.
LIKE 'S%' : S로 시작하는 LIKE '%N' : N으로 끝나는 LIKE '%AE%' : AE를 포함하는 NOT LIKE '%EO%' : EO를 포함하지 않는
참고1: boostcourse 강좌 (기초 데이터 분석을 위한 핵심 SQL)
728x90반응형'직접 해보기 > SQL' 카테고리의 다른 글
[MySQL] SQL 숫자형함수 사용예시 (ABS, ROUND, CEIL, FLOOR, MOD, POWER, SQRT) (0) 2024.08.13 [MySQL] 뷰VIEW 생성, 수정, 삭제하기 (CREATE VIEW, ALTER VIEW, DROP VIEW) (0) 2024.08.12 [MySQL] 서브쿼리Subquery 활용해 데이터 조회하기 (0) 2024.08.10 [MySQL] 조인JOIN 으로 테이블 결합하기 (INNER JOIN, LEFT JOIN, RIGHT JOIN (0) 2024.08.10 [MySQL] SELECT문으로 데이터 조회하기 (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY) (0) 2024.08.09