-
728x90
IN 연산자
데이터를 조회할 때, 다수의 가능한 값들을 체크해보고 싶을 때가 있다.
예를 들어, 어떤 한 유저가 조회하려는 데이터에 존재하는지 알고 싶은 상황처럼 말이다.
그럼 이 같은 상황에 유저가 Jacob인지, Claire인지, Bryan인지 알아보기 위해 수 많은 OR 연산자를 사용해야할까? 정답은 당연히 아니다! SQL의 IN 연산자를 사용함으로써, 수 많은 선택지의 리스트 안에 찾으려고 하는 값이 존재하는지 체크하는 조건을 생성할 수 있다.
기본 문법은 다음과 같다.
SELECT column_name FROM table_name WHERE column_name IN (value1, value2, ...);
IN 다음에는 괄호로 값들을 감싸주어야 한다는 점을 기억하자.
IN 연산자 사용하기
결제 정보가 들어 있는 payment 테이블이 있다고 가정하고, 금액이 0.99, 1.99, 2.99인 조건을 만족하는 데이터를 조회하기 위해서 다음과 같이 요청할 수 있다.
SELECT amount FROM payment WHERE amount IN (0.99, 1.99, 2.99);
데이터 조회가 아닌, 몇 개의 데이터가 존재하는지 조회하고 싶다면 다음과 같이도 사용이 가능하다.
SELECT COUNT(*) FROM payment WHERE amount IN (0.99, 1.99, 2.99);
혹은, NOT 연산자도 같이 사용할 수 있다.
SELECT COUNT(*) FROM payment WHERE amount NOT IN (0.99, 1.99, 2.99);
NOT 연산자를 사용한다면, 당연히 IN과는 반대로 위의 조건들이 매치하지 않는 데이터들이 반환된다.
당연히 금액(숫자)뿐만 아니라 문자열 같은, 테이블에 있을 법한 값으로 IN 연사자를 사용할 수 있다.
SELECT * FROM customer WHERE first_name IN ('Jacob', 'John', 'Jamie');
728x90'Back-end > SQL' 카테고리의 다른 글
SQL Aggregate 함수 (AVG, COUNT, MAX, MIN, SUM) (0) 2021.05.31 SQL LIKE & ILIKE연산자 (0) 2021.05.30 SQL BETWEEN 연산자 (0) 2021.05.30 SQL Limit절 (0) 2021.05.30 SQL ORDER BY 키워드 (0) 2021.05.30 댓글