직접 해보기/SQL

[MySQL] SQL 연산자 모음 및 사용예시 (BETWEEN, IN, LIKE, UNION, UNION ALL)

서윤L 2024. 8. 13. 01:18
728x90
반응형

 

✅ 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
반응형