반응형

Oracle 로고

이번 글에서는 오라클에서 특정 컬럼이 2개 이상이 한 세트가 되어 테이블에 데이터가 포함되어 있을 때 사용하는 다중컬럼 IN에 대해 글을 작성한다.


목차

1. IN 사용하는 방법
2. 다중컬럼 IN 사용하는 방법
3. 다중컬럼 IN 사용하는 방법(서브쿼리)

1. IN 사용하는 방법

오라클(Oracle)에서 다중컬럼 IN을 사용하는 방법은 정말 간단하다. 우리는 1개의 컬럼에 대해 IN을 사용할 때는 아래와 같이 사용한다.

SELECT TEST01
  FROM DUAL
 WHERE SUBJ IN ('국어', '수학')

SUBJ 컬럼에서 국어와 수학이 포함되어 있는 데이터를 가져 온다.

IN을 사용하지 않을 경우에는 OR을 많이 활용한다.

SELECT TEST01
  FROM DUAL
 WHERE (SUBJ = '국어') OR (SUBJ = '수학')

 

2. 다중컬럼 IN 사용하는 방법

다중컬럼 IN을 사용하는 방법은 위의 IN 사용방법에 괄호만 잘 쳐주면 된다.

SELECT TEST01
  FROM DUAL
 WHERE (SUBJ, CODE) IN (('국어', '0010'), ('수학', '0020'))

 

위와 같이, DUAL이라는 테이블에 SUBJ에 국어와 수학이 포함되어 있는데, 국어의 경우에는 0010 코드가 들어있는 것만 가져오고, 수학의 경우에는 0020 코드가 들어있는 데이터만 가져와서 TEST01이라는 컬럼을 보여준다라는 의미다.

 

즉, WHERE 절에서 컬럼 설정 시 괄호를 사용하여 WHERE절의 기준 컬럼을 묶어 주고, 각 괄호를 쳐서 IN 조건에 맞는 데이터를 넣어주기만 하면 된다.

 

3. 다중컬럼 IN 사용하는 방법(서브쿼리)

2번에서는 다중컬럼 IN에 직접 데이터를 넣었는데, 서브쿼리로도 사용할 수 있다.

SELECT TEST01
  FROM DUAL
 WHERE (SUBJ, CODE) IN (SELECT SUBJ, CODE
                          FROM DUAL2)

위와 같은 방법으로, IN 조건 안에 서브쿼리를 작성하여 다중컬럼 IN을 사용할 수 있다.


 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기