SQL Server/실기 정리
SQL Server 35강 - ANY 연산자를 활용한 조건 비교 서브쿼리
코딩하는냥이
2025. 6. 4. 12:41
반응형
이번 글에서는 ANY 키워드를 이용하여 서브쿼리 결과 중 하나라도 조건을 만족하면 TRUE가 되는 비교 방식을 실습했습니다.
ANY는 다중 결과를 반환하는 서브쿼리와 함께 사용되는 연산자로, IN과 비슷하지만 비교 연산자와 함께 사용 가능하다는 차이가 있습니다.
📌 예제 코드 ①: = + ANY
SELECT *
FROM nasdaq_company
WHERE symbol = ANY (
SELECT symbol
FROM nasdaq_company
WHERE symbol IN ('MSFT', 'AMD', 'AMZN')
);
💬 설명
- 서브쿼리의 결과 중 하나라도 symbol과 같으면 참
- 사실상 IN ('MSFT', 'AMD', 'AMZN')과 같은 효과
📌 예제 코드 ②: < + ANY
SELECT *
FROM nasdaq_company
WHERE symbol < ANY (
SELECT symbol
FROM nasdaq_company
WHERE symbol IN ('MSFT', 'LTCH', 'ZY')
);
💬 설명
- symbol이 서브쿼리 결과 중 어느 하나보다 작으면 참
- 예: symbol < 'ZY', symbol < 'MSFT', symbol < 'LTCH' 중 하나라도 만족하면 출력됨
📌 예제 코드 ③: > + ANY
SELECT *
FROM nasdaq_company
WHERE symbol > ANY (
SELECT symbol
FROM nasdaq_company
WHERE symbol IN ('MSFT', 'LTCH', 'ZY')
);
💬 설명
- symbol이 서브쿼리 결과 중 어느 하나보다 크면 참
- 예: symbol > 'LTCH', symbol > 'MSFT', symbol > 'ZY' 중 하나라도 참이면 출력
💡 포인트 정리
- ANY: 서브쿼리 결과 중 하나 이상과 조건을 만족하면 참
- = + ANY → IN과 거의 동일
- < + ANY: 서브쿼리 값 중 가장 큰 값보다 작으면 항상 참
- > + ANY: 서브쿼리 값 중 가장 작은 값보다 크면 참
- 반대로 ALL은 모든 값에 대해 조건을 만족해야 참
📌 정리하자면, 이번 강의에서는 ANY 연산자를 사용해 서브쿼리와 비교 조건을 조합하여
동적이고 유연한 조건 필터링을 실습했습니다.
ANY는 IN의 확장처럼 사용할 수 있으며, >, < 같은 비교 연산자와 함께 사용하면
보다 정밀한 조건 지정이 가능합니다.