티스토리 뷰

AI/SQL

[SQL] WITH, IN과 EXISTS차이

brave_sol 2024. 12. 5. 10:37
프로그래머스 SQL 고득점 kit 4일차( SELECT level2-3문제, lever2 끝!)

 

1. WITH

- 복잡한 쿼리를 읽기 쉽게 하기 위해 서브쿼리를 미리 선언한 다음 재사용 할 수 있다.(변수 처럼)

- WITH 별칭 AS 서브쿼리

WITH WANT_NUM AS (
    SELECT CODE
    FROM SKILLCODES
    WHERE NAME IN ('Python', 'C#')
)

 

2. IN과 EXISTS

IN EXISTS
정확하게 매칭할때 (리스트에 포함 여부) 조건이 참이되는 행의 존재 여부 (동적으로 검사할때)
전체를 한번에 비교 한 행씩 비교 (성능 최적화)
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPERS
WHERE EXISTS (
    SELECT 1
    FROM WANT_NUM
    WHERE (SKILL_CODE & CODE) = CODE
)
ORDER BY ID

* SELECT 1 에서 1은 임의의 상수이다. EXISTS는 반환값이 중요하지 않으므로 성능 최적화를 위해 간단한 값을 반환

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함