더북(TheBook)

결과를 보면 서울과 경기도에 속한 모든 도시가 조회됐습니다. 이처럼 IN 연산자는 비교할 값이 여러 개일 때 소괄호 안에 콤마로 구분해 나열할 수 있습니다. 또한 IN 연산자는 문자형, 숫자형, 날짜형 데이터를 모두 확인할 수 있습니다.

서울이나(또는) 경기도에 속한 도시를 조회했는데, 여기서 눈에 띄는 점은 바로 ‘이나(또는)’입니다. IN 다음에 오는 소괄호에 나열한 값을 비교할 때 AND가 아닌 OR로 비교함을 알 수 있죠. 따라서 다음과 같이 바꿔 쓸 수 있습니다.

코드 5-18

SELECT *
  FROM city
 WHERE countrycode = 'KOR'
   AND (district = 'seoul' OR district = 'kyonggi');

IN 연산자로 확인했던 조건을 논리 연산자인 OR로 변경했습니다. 이처럼 IN 연산자는 OR 연산자로 바꿔 쓸 수 있지만, 코드가 길어지는 단점이 있죠. 비교하는 값이 많아지면 계속 OR 연산자를 추가해야 하므로 코드가 더 길어집니다. 따라서 IN 연산자를 사용하는 게 훨씬 더 직관적이고 알아보기 쉽습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.