▣ 오라클 SQL_ ANY, SOME, ALL, NOT EXISTS, NOT IN 연산
ANY(SOME), ALL은 주로 서브쿼리와 함께 사용하는 다중 행 연산자
ANY는 조건을 만족하는 값이 하나라도 있으면 결과를 리턴하고,
ALL은 모든 값이 조건을 만족해야 결과를 리턴
SOME은 ANY와 이름만 다를뿐 동일한 기능의 연산자
GROUP BY 절이 사용되었으므로 ㉠에는 WHERE절이 아닌 HAVING 절을 사용하여 조건을 명시
평균 봉급을 비교하므로 AVG( ) 함수를 이용
“가장 높은 부서명(DeptName)”을 검색하므로 서브쿼리 모든 평균값보다 큰 값을 찾아야 하므로
some(혹은 ANY)가 아닌 all 을 ㉡ 에 위치해야 함
서브쿼리도 부서별 평균 봉급을 조회해야 하므로 GROUP BY DeptName 으로 계산
2018년 64번
정답 : 1번
ANY는 조건을 만족하는 값이 하나라도 있으면 결과를 리턴
2019년 57번
정답 : 4번
ANY는 조건을 만족하는 값이 하나라도 있으면 결과를 리턴
사원이 소속된 부서 중 어떤 하나의 부서와 같지 않은 부서를 검색하므로,
사원이 소속되지 않은 부서뿐만 아니라 모든 부서를 추출하게 되므로 올바르지 않은 질의임
'ALL' 키워드가 들어가야함
2021년 67번
정답 : 1번
"부양가족이 없는 사원의 이름을 검색하라"
WHERE 조건절에서 'NOT IN'을 사용하려면 비교 대상 컬럼이
앞에 위치해야 됨. 그러므로 (가)는 'NOT EXISTS'구문을 사용해야 함
직원정보 릴레이션 'SSN'과 부양가족 릴레이션의 'ESSN'을
연결해야 함. (다) 'SSN = ESSN'임
(나)는 부양가족이 없는 모든 사원을 검색해야 되니 '*' 임
2012년 54번
정답 : 1번, 3번
2) 성별 비교가 없음
4) NOT EXISTS 이므로 반대의 질의문임 '자신과 성별이 다른 부양가족을 가진 직원의 이름을 검색'
2013년 70번
정답 : 3번
부속질의문의 결과는 2. 전기공학과임
부속질의문 결과에 속하지 않는 st_name을 student 테이블에서 조회하는 질의문 (not exists)
전기공학과 투플을 제외하면 st_name => Yoo, Kim, Park, Jeong의 4건의 결과가 조회됨
count(st_name)은 4임
2014년 64번
정답 : 4번
음료번호가 커피인 회원과 음료번호가 홍차인 회원을AND 조건으로 조회하였음
2015년 68번
정답 : 1번
'데이터베이스' 카테고리의 다른 글
트랜잭션_교착상태(deadlock), 상호배제 (mutual exclusion), 점유 대기 (hold and wait), 비선점 (non preemption), 순환대기 (circular wait) (0) | 2021.09.10 |
---|---|
함수 기반 인덱스(Function-based indexing) 오라클 (0) | 2021.09.10 |
오라클 COUNT, 널(NULL), 공백 SQL 질의 (0) | 2021.09.09 |
조인, 서브쿼리, 집합 연산 SQL 질의 문제(오라클) (0) | 2021.09.09 |
SQL 인젝션(Injection) 보안 상의 허점 (0) | 2021.09.09 |