database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41835 게시물 읽기
No. 41835
exists 관련 질문입니다.
작성자
백경재(rudwo00)
작성일
2020-12-21 16:22
조회수
424

문제 : 30번 부서 사원들중에 입사일은 빠른데 급여를 작게 받는

사원 출력해 주세요 (입사일 비교, 내가 빠른데 너보다 급여 작네

그러면 나를 뽑아.)

 

[정답]

select * 

from employees o 

where exists (select 'x' from employees where hire_date > o.hire_date and salary > o.salary and department_id=30)

and department_id = 30;

 

[오답]

select * 

from employees o 

where exists (select 'x' from employees where hire_date < o.hire_date and salary < o.salary and department_id=30)

and department_id = 30;

 

저는 아래로 풀었는데 답이 아니었습니다. 위 아래 과정이 같다고 생각하는데 왜 다른 결과가 나올까요.

이해가 잘 안 됩니다 ㅠㅠ 도와주세요.. .ㅠㅠ

 

이 글에 대한 댓글이 총 1건 있습니다.

입사일이 빠른데 급여를 작게 받는 사원

= 나보다 입사일이 늦은데 급여를 더 받는 사원이 존재한다.


집합을 잘생각하셔야 합니다.

오답의 쿼리는

나보다 입사일이 빠른데 급여를 적게 받는 사원이 존재한다.

즉 나의 조건(내가 입사일이 빠름 & 급여도 적음)을 체크할 수 없습니다. 

박인호(paerae)님이 2020-12-24 12:41에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41838오라클 SE RAC 구성 [6]
이규영
2021-01-18
374
41837시작, 종료의 값을 가지고 순차적으로 나열이 가능할까요? [1]
김도경
2021-01-18
305
41836일자기준 금액자료 확인 쿼리 [2]
group
2021-01-06
342
41835exists 관련 질문입니다. [1]
백경재
2020-12-21
424
41832특정 컬럼에 동일한 데이터가 있는경우 다른 컬럼의 데이터를 비교하고 싶습니다. [1]
권다훈
2020-12-09
478
41831오라클 원격 접속 안되는 증상이요.. [1]
파이
2020-12-01
440
41830중복되는 데이타만 묶어서(?) 표시하기
신승익
2020-11-26
448
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.011초, 이곳 서비스는
	PostgreSQL v13.1으로 자료를 관리합니다