개발 공부 & 정리
[SQL첫걸음] 24강 상관 서브쿼리 본문
상관 서브쿼리 : 부모 명령과 자식인 서브쿼리가 특정관계를 맺는 것, 따로 서브쿼리만 분리하여 실행 X.
UPDATE [table1] SET a= "있음" WHERE EXIST (SELECT * FROM [table2] where no2= no1); no1은 table1의 열로 서브쿼리만 동작 시킬 경우 table2에서 알 수 없다. 만일 열 이름이 둘다 no 일경우 where no=no는 대부분 에러 In MySQL table2.no = table2.no가 되어 모두 참. >> 그러므로 **테이블이름.열명**을 쓰자
EXIST(subQuery) : 서브쿼리가 반환하는 결과(행)이 있으면 참, 없으면 거짓.
NOT EXIST(subQuery) : 서브쿼리가 반환하는 결과(행)이 없으면 참, 있으면 거짓.
row IN (집합-스칼라셋(2,3) or subQuery ) : 스칼라 = 와 유사, 해당 열의 값이 집합 내 값이 있으면 참.
NULL의 경우 있어도 비교 X. → IS NULL 사용.
NOT IN : NULL이 있으면 없어도 참X → UNKNOWN
IN MySQL → IN 참/NULL <> NOT IN 거짓 (NULL 이 포함되어 있으면 return 0 → 비교 X)
NULL 이어도 비교할 수 없으므로 참or거짓이 아닌 NULL 반환
'공부 > DB' 카테고리의 다른 글
[SQL첫걸음] 26강- 테이블 작성,삭제,변경 (0) | 2022.06.15 |
---|---|
[SQL첫걸음] 25강- 데이터베이스 객체 (0) | 2022.06.15 |
[SQL첫걸음] 23강 서브쿼리 (0) | 2022.06.15 |
[SQL첫걸음] 22강 GROUP BY (0) | 2022.06.15 |
[SQL첫걸음] 21강 COUNT 이외의 집계함수 (0) | 2022.06.15 |
Comments