오라클 SQL · 기초 다지기

논리 연산자와 BETWEEN, IN, LIKE

조건이 하나일 때보다 여러 조건이 섞일 때 실수가 많이 나온다. AND, OR, NOT과 BETWEEN, IN, LIKE를 이해하면 실제 업무형 SQL에 훨씬 가까워진다.

논리 연산자와 BETWEEN, IN, LIKE 대표 이미지

이 글에서 꼭 잡아야 할 것

조건이 하나일 때보다 여러 조건이 섞일 때 실수가 많이 나온다. AND, OR, NOT과 BETWEEN, IN, LIKE를 이해하면 실제 업무형 SQL에 훨씬 가까워진다.

현실의 조회 조건은 대부분 여러 기준이 함께 움직인다. 부서가 특정 목록에 속하면서, 이름이 특정 패턴을 만족하고, 급여가 범위 안에 있어야 하는 식의 조합이 많기 때문에 논리 연산자의 우선순위와 표현식을 정확하게 묶는 습관이 중요하다.

난이도 입문
모듈 기초 다지기
학습 시간 9분
핵심 키워드 AND, IN, LIKE

개념 지도와 이해 포인트

논리식 결합 AND는 모두 참, OR는 하나 이상 참이면 행을 남긴다. 괄호를 적절히 사용하면 조건 우선순위에서 발생하는 실수를 줄일 수 있다.
범위와 목록 `BETWEEN A AND B`는 경계값을 포함하고, `IN`은 여러 값을 한 번에 비교할 때 유용하다. 반복되는 OR 조건을 정리하는 데 좋다.
패턴 검색 `LIKE`는 `%`와 `_` 와일드카드를 이용해 문자열 패턴을 검색한다. `%`는 여러 글자, `_`는 한 글자를 의미한다.
논리 연산자와 BETWEEN, IN, LIKE 개념 다이어그램

대표 문법 패턴

SELECT employee_id, last_name, department_id
FROM employees
WHERE department_id IN (10, 20, 30)
  AND last_name LIKE 'K%';

SELECT employee_id, salary
FROM employees
WHERE salary BETWEEN 3000 AND 7000
  OR commission_pct IS NOT NULL;

문법 읽는 포인트

  • `BETWEEN`은 시작값과 종료값을 모두 포함한다.
  • `IN`은 반복 OR 조건을 간결하게 줄여 준다.
  • 복잡한 조건은 괄호로 묶어 사람이 읽기 좋은 구조를 만드는 편이 좋다.

핵심 용어

  • AND
  • IN
  • LIKE

부서 목록과 이름 패턴을 함께 걸어 보기

조건이 두세 개만 겹쳐도 읽기가 어려워지기 때문에, OR 조건은 그룹으로, 패턴 조건은 별도로 정리해 보는 습관을 들이면 SQL 해석 속도가 빨라진다.

SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id IN (50, 60, 80)
  AND first_name LIKE '_a%'
ORDER BY department_id, first_name;

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • AND가 OR보다 우선되므로 괄호 없이 섞인 조건은 먼저 우선순위를 해석해야 한다.
  • `LIKE`에서 `%`와 `_`의 의미를 문제에서 자주 묻는다.
  • `NOT IN`은 NULL과 함께 쓰일 때 별도 주의가 필요하다는 점을 기억해 두자.

자주 하는 실수

  • `BETWEEN`이 경계값을 제외한다고 착각하는 실수
  • OR와 AND를 괄호 없이 섞어 의도와 다른 결과를 만드는 실수
  • `LIKE` 패턴에서 `_`를 여러 글자로 오해하는 실수

연결 학습

다중 조건을 정리할 수 있으면 데이터 해석력이 한 단계 올라간다. 다음 챕터에서는 초보자가 특히 많이 헷갈리는 NULL과 관련 함수를 정리한다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.