서브쿼리의 일종을 상관 서브쿼리라 합니다. 더 자세한 정의는 상관 서브쿼리에서 확인하겠습니다.

서브쿼리를 사용해 검색할 때 데이터 존재여부를 판별하기 위해 조건을 지정할 수 있습니다.
이런 경우 EXISTS 술어를 사용할 수 있습니다.
이때 EXISTS 술어는 단지 반환된 행이 있는지를 확인해보고 값의 있으면 참(True), 없으면 거짓(False)을 반환하므로 굳이 스칼라 서브쿼리일 필요는 없습니다.
sample551과 sample552에 대해 no=no2인 행의 값을 '있음'으로 수정하려 할 때 다음과 같이 EXISTS를 사용하면 조건에 맞는 행을 갱신할 수 있다.
UPDATE sample551 SET a="있음" WHERE EXISTS (SELECT * FROM sample552 WHERE no2=no);

NOT EXISTS를 통해 반대의 경우도 반환할 수 있다.
UPDATE sample551 SET a="없음" WHERE NOT EXISTS (SELECT * FROM sample552 WHERE no2=no);

UPDATE sample551 SET a = '있음' WHERE
EXISTS (SELECT * FROM sample552 WHERE no2 = no);
DELETE FROM sample54 WHERE a = (SELECT a FROM (SELECT MIN(a) AS a FROM sample54) AS x);
SELECT * FROM sample552 WHERE no2=no → no2불분명 에러
이럴 때는 sample551.no, sample552.no처럼 명시적으로 지정해주면 된다.
SELECT * FROM sample552,sample551 WHERE sample552.no2 = sample551.no
또한 아래처럼도 사용할 수 있습니다.
UPDATE sample551 SET a = '있음' WHERE EXISTS (
SELECT * FROM sample552 WHERE sample552.no = sample551.no
);
스칼라 값끼리 비교할 때는 =연산자를 쓰지만, 집합을 비교할 때는 IN을 통해 비교한다.
SELECT * FROM sample552 WHERE no2 = no;
SELECT * FROM sample551 WHERE no IN (SELECT no2 FROM sample552);