SQL-ORACLE/WHERE

[SQL] IN, BETWEEN

이뮨01 2023. 7. 11. 12:31

IN과 BEWEEN에 대해 배우다.


IN

-- IN 연산자. OR 연산을 줄여줌 / IN안의 NULL은 무시함, NOT IN안에 NULL이 들어가면 아무것도 출력X 
-- NOT은 연산자를 반대로만듦 (OR -> AND) 따라서 NOT IN은 AND가 중첩되서 아무것도 출력되지않음
SELECT *
  FROM TB_PRD
 WHERE PRD_TYPE IN ('가전', '욕실용품', '스마트폰');

IN 결과

OR을 1번만 사용하게 된다면 그냥 OR을 사용하면 되지만 2개 이상부터는 OR을 여러 번 붙여서 사용하기 번거롭다. 그 단점을 보완해 주기 위해 IN 연산자를 사용하면 된다. 쉽게 IN 안에 OR에 사용될 값들을 적으면 된다. 


BETWEEN

-- BETWEEN A AND B (A <= B) 
SELECT *
  FROM TB_CUST
 WHERE SCORE >= 21
   AND SCORE <= 40;
   
SELECT *
  FROM TB_CUST
 WHERE SCORE BETWEEN 21 AND 40;

BETWEEN을 배우기 전까지는 사이값을 조건으로 사용하기위해서 AND연산자를 사용해야 했다. BETWEEN연산자를 사용해서 사이값 조건을 한 줄로 작성할 수 있다.