Notice
Recent Posts
Recent Comments
Link
모르면 배우면 된다
EXIST : 테이블에 값이 존재하는지 확인할 때 쓰는 것 본문
@@수정필요
select 1 from table
1이나 'X'로 처리를 해주는데 이유는 진짜 값을 가져오려는 게 아니라,
있는지 없는지만 체크해오려고 하는 거기 때문에 상수값을 넣어준다
교집합, 차집합을 나타낼 때 써주면 좋다.
한 로우씩 체크를 함
select * from 무한도전;
select * from 런닝맨;
SELECT * FROM 런닝맨 A WHERE EXISTS(select 1 from 무한도전 B WHERE A.NAME= B.NAME)
1. 먼저 FROM 런닝맨이 실행
2. WHERE EXISTS 가 실행되면서 한 로우씩 체크. 무한도전 테이블과 런닝맨 테이블에 같은 NAME이 있으면 TRUE 반환하여, 해당 로우가 나타남. 만약 NAME이 같지 않으면, FALSE 반환하면서 해당 ROW는 나타나지 않음.
중요한 것 : 런닝맨 테이블에서 SELECT 해옴!
SELECT * FROM 런닝맨 A WHERE NOT EXISTS(SELECT 1 FROM 무한도전 B WHERE A.NAME = B.NAME);
=> 런닝맨과 무한도전 테이블의 NAME 컬럼이 같은 ROW를 제외하고 런닝맨 테이블의 결과값 나옴
'DB' 카테고리의 다른 글
ORACLE의 ROWNUM에 대하여 (0) | 2023.05.25 |
---|---|
SQL JOIN 개념 정리 (0) | 2022.06.24 |
여러 테이블에서 가져온 데이터를 한 ROW로 묶으려면 어떻게 해야 할까 (0) | 2022.06.10 |