반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- first-child
- Daemon()
- InputDialog
- Linux셋팅
- 스레드그룸
- interrupt()
- ObjectInputStream
- interrupted()
- StringWriter
- first-of-child
- sleep()메소드
- isinterrupted()
- 동기화
- char[] String 형변환
- 상관서브쿼리
- StringReader
- include지시자
- ThreadGroup()
- include 지시자
- 아이디중복
- MemoryStream
- 상관 서브 쿼리
- ID중복
- 리눅스셋팅
- 표현 언어
- include액션태그
- 리눅스세팅
- Linux세팅
- 메모리스트림
- String char[] 형변환
Archives
- Today
- Total
다연이네
[days08] any, some 연산자 본문
반응형
any, some 연산자
서브쿼리가 반환한 여러 결과 값 중 메인쿼리와 조건식을 사용한 결과가 하나라도 true라면
메인쿼리 조건식을 true로 반환해 주는 연산자
각 부서에서 가장 급여를 많이 받는 사람 조회 (any와 some 사용)
select *
from emp
where sal=(select max(sal) from emp group by deptno);
--ORA-01427: single-row subquery returns more than one row
--서브쿼리가 결과값을 여러개 돌리는데 sal은 하나니까 오류
select *
from emp
where sal in (select max(sal) from emp group by deptno);
where sal = some(select max(sal) from emp group by deptno);
where sal = any(select max(sal) from emp group by deptno);
--위의 3가지 where절은 같은 결과를 출력한다.
select *
from emp
where sal >= all(select max(sal) from emp group by deptno);
-- king뿐 ( 모두 만족한다는 의미 )
아래 코드는 무슨 의미일까 ?
select *
from emp
where sal<any(select sal from emp where deptno=30) --2850보다 작은 애 뿌라겠다
order by sal, empno;
emp 전체를 확인해보면 deptno가 30인 사원들 중에서 최대 sal은 2850이다.
따라서 sal이 2850보다 작으면 출력하겠다는 의미이다.
반응형
'Oracle' 카테고리의 다른 글
[days08] merge문 (통합, 병합) (0) | 2020.11.09 |
---|---|
[days08] 한번에 여러 데이터 insert하기 / 다중 insert 문 (0) | 2020.11.09 |
[days08] DML - 테이블에 데이터 추가, 복사, 수정 등 + 제약조건 (0) | 2020.11.09 |
[days08] DDL - create, alter, drop와 테이블 기초 (0) | 2020.11.09 |
[days08] 서브쿼리 (0) | 2020.11.09 |
Comments