오라클 DB(sql)_기초_13 (다중행 서브쿼리, any, all)
데이터베이스 2021. 5. 1. 19:51<다중행 서브쿼리>
- 10, 20, 30, 40, 50, 60 의 데이터가 있다고 가정하고,
- 서브쿼리의 결과가 30과 40을 반환하는 서브쿼리를 작성한다고 할때,
: In (30, 40) >> 30,40 반환
: > any 최소값보다 큰 값을 찾아줌. >> 30보다 큰 값을 찾아라 >> 40, 50, 60 (or연산으로생각)
: < any 최대값보다 작은값을 찾아줌 >> 40보다 작은값을 찾아라 >> 10, 20, 30 (and연산으로 생각)
: > all 최대값보다 큰 값을 찾아줌 >> 40보다 큰 값 >> 50, 60
: < all 최소값보다 작은 값을 찾아줌 >> 30보다 작은 값 >> 10, 20
위와같은 경우 In은 값을 찾는것(값과 값을 비교하는 것)이기때문에 null값을 가지는 항목은 찾아낼 수 없음.서브쿼리의 내용이 말하는것이 king을 제외한 106명의 사원이고 Not in은 106명의 사원을 제외한King을 찾아준다고 생각할 수 있지만, king이 가지는 값은 null값이기 때문에 값을 아무것도 찾을수 없는것.
null을 포함한 복수의 값이 도출되면 연산자는 연산이 불가능해짐.
'데이터베이스' 카테고리의 다른 글
오라클 DB(sql)_기초 14 (Insert) (0) | 2021.05.01 |
---|---|
오라클 DB(sql)_기초 12~13 서브쿼리 예제풀이 (0) | 2021.05.01 |
오라클 DB(sql)_기초_12 (서브쿼리,Sub query) (0) | 2021.05.01 |
오라클 DB(sql)_기초_11_예제풀이 (0) | 2021.05.01 |
오라클 DB(sql)_기초_11 (Group by) (0) | 2021.05.01 |