반응형
EXISTS는 서브쿼리(subquery)에서 반환된 결과가 존재하는지 여부를 확인하는 조건 연산자입니다.
EXISTS를 사용하여 서브쿼리를 조합하면 데이터를 필터링하거나 관련된 데이터를 확인하는 데 유용하게 사용할 수 있습니다.
사용법
EXISTS (subquery)
예제
SELECT *
FROM test_user a
WHERE EXISTS (
SELECT 1
FROM test_info
WHERE a.id=id
);
위의 쿼리는 서브쿼리에서 id값이 일치하는 행인 경우 test_user 테이블의 행이 선택 됩니다.
SELECT *
FROM test_user a
WHERE NOT EXISTS (
SELECT 1
FROM test_info
WHERE a.id=id
);
위의 쿼리는 연관된 데이터가 없다면(NOT EXISTS) test_user 테이블의 행이 선택 됩니다.
SELECT *,
EXISTS(
SELECT 1
FROM test_info
WHERE a.id=id) as cnt
FROM test_user a;
위의 쿼리는 test_user 테이블의 각 행에 대해 해당 행의 id와 test_info 테이블의 id가 일치하는지 여부를 확인하여 연관성 여부를 cnt 열로 표시합니다. 이를 통해 test_user 테이블과 test_info 테이블 간의 관계를 파악할 수 있습니다.
반응형
'개발이야기 > MySQL' 카테고리의 다른 글
[MySQL] SELECT 결과로 테이블 만들기 (CREATE TABLE AS SELECT) (0) | 2023.07.07 |
---|---|
[MySQL] SELECT alias(별칭) 조건문에서 사용하기, 예제 (having) (0) | 2023.06.30 |
[MySQL] 테이블 필드 문자열 줄바꿈, 개행문자, 엔터 제거하기 (replace 사용법, 예제) (0) | 2023.05.31 |
[MySQL] 콤마로 구분된 문자열 검색하기 (FIND_IN_SET 사용법, 예제) (1) | 2023.05.25 |
[MySQL] IFNULL 함수로 NULL값 대체하기 (사용법, 예제) (0) | 2023.05.16 |
댓글