티스토리 뷰


1. IN,EXISTS - 역할

IN - 특정 컬럼에 여러 개의 값이 포함되었는지 체크


EXISTS - 특정 컬럼에 값이 존재하는지 체크



2. IN,EXISTS - 기본 테이블


◈ TEST_TABLE_ONE


IDX 

NAME 

AMT 

 1

테스트1

1000

 2

테스트2

2000

 3

테스트3

3000

 4

테스트4

4000

 5

테스트5

1000

 6

테스트6

2000

 7

테스트7

3000

 8

테스트8

4000



◈ TEST_TABLE_TWO


IDX 

NAME 

CHECK_YN

 1

테스트1

Y

 2

테스트2

Y

 3

테스트3


 4

테스트4


 5

테스트5

 6

테스트6

Y

 7

테스트7


 8

테스트8



3. IN - SQL 문장

◈ SQL

1
SELECT * FROM  TEST_TABLE_ONWHERE AMT IN ('1000','2000');



1
2
SELECT * FROM  TEST_TABLE_ONE WHERE NAME IN 
                     (SELECT NAME FROM TEST_TABLE_TWO WHERE CHECK_YN IN ('Y'));



◈ 결과 테이블


IDX 

NAME 

AMT 

 1

테스트1

1000

 2

테스트2

2000

 5

테스트5

1000

 6

테스트6

2000



◈ 설명


AMT 컬럼이 1000,2000인 경우를 검색합니다




4. EXISTS - SQL 문장

◈ SQL

1
2
3
4
5
SELECT * FROM TEST_TABLE_ONE A
             WHERE EXISTS 
                 (SELECT AMT FROM TEST_TABLE_TWO 
                        WHERE CHECK_YN='Y'
                            AND A.NAME=B.NAME)



◈ 결과 테이블


IDX 

NAME 

AMT 

 1

테스트1

1000

 2

테스트2

2000

 5

테스트5

1000

 6

테스트6

2000



◈ 설명


TEST_TALBE_TWO에서 CHECK_YN에 'Y' 인 사람이 존재하는 사람의 AMT값을 조회하여 출력합니다



5. IN,EXISTS - 특징

IN : 특정 값들이 포함되어 있는지 검사 ( 값 , 서브쿼리 입력 가능 )


EXISTS : 특정 값들이 존재되어 있는지 검사 (서브쿼리만 입력 가능 )


EXISTS가 IN 보다 좋은 점 : 성능이 월등히 탁월함 (쿼리 조회속도가 빠름)


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday