개발이야기/MySQL

[MySQL] EXISTS 사용법, 예제, 활용하기 (조건 만족 검색)

후린개발자 2023. 6. 8.
반응형

EXISTS는 서브쿼리(subquery)에서 반환된 결과가 존재하는지 여부를 확인하는 조건 연산자입니다.
EXISTS를 사용하여 서브쿼리를 조합하면 데이터를 필터링하거나 관련된 데이터를 확인하는 데 유용하게 사용할 수 있습니다.

 

사용법

EXISTS (subquery)

 

예제

test_user 테이블

 

test_info 테이블

 

SELECT *
FROM test_user a
WHERE EXISTS (
  SELECT 1
  FROM test_info
  WHERE a.id=id
);

EXISTS 조건에 맞는 결과

 

위의 쿼리는 서브쿼리에서 id값이 일치하는 행인 경우 test_user 테이블의 행이 선택 됩니다.

 

SELECT *
FROM test_user a
WHERE NOT EXISTS (
  SELECT 1
  FROM test_info
  WHERE a.id=id
);

 

NOT EXISTS 조건에 맞는 결과

 

위의 쿼리는 연관된 데이터가 없다면(NOT EXISTS) test_user 테이블의 행이 선택 됩니다.

 

SELECT *, 
   EXISTS( 
	SELECT 1
  FROM test_info
  WHERE a.id=id) as cnt
FROM test_user a;

 

select 구문에 EXISTS 사용

 

위의 쿼리는 test_user 테이블의 각 행에 대해 해당 행의 id와 test_info 테이블의 id가 일치하는지 여부를 확인하여 연관성 여부를 cnt 열로 표시합니다. 이를 통해 test_user 테이블과 test_info 테이블 간의 관계를 파악할 수 있습니다.

반응형

댓글

💲 추천 글