-
카테고리
-
세부 분야
데이터베이스
-
해결 여부
미해결
join 결과 테이블 집합 레벨
23.11.03 20:37 작성 조회수 177
0
안녕하세요
[ Group by 실습 01 ] 강의를 듣다가 실습 문제에서 결과 값이 이해가 되지 않아 질문드립니다.
-- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여(with 절로 풀기)
수업 듣기 전, 위의 문제에서 with 절 안의 테이블을 만들려고 아래와 같이 적었습니다.
(같은 테이블 결과값이 나오는지 확인만 하려고 select 뒤에 구체적인 컬럼을 적지 않고 * 를 적었습니다.)
[수업 전 작성 답안 & 결과 테이블]
select *
from hr.emp a
join hr.dept b on a.deptno = b.deptno
join hr.emp_salary_hist c on a.empno = c.empno
where b.dname in('SAELS','RESEARCH');
--> dname 에 research 만 나타납니다.
[강의 예시 답안]
select *
from hr.dept a
join hr.emp b on a.deptno = b.deptno
join hr.emp_salary_hist c on b.empno = c.empno
where a.dname in('SALES','RESEARCH');
--> 나와야 하는 결과값 잘 나옴.
위의 제가 적은 답안에서 어떤점이 잘못 되었는지 도무지 보이지않아서 질문드립니다.
join 만 적을시 inner join 이 적용되므로, 집합 레벨은 모든 테이블의 join 될 수 있는 모든 컬럼값 끼리 붙을 텐데, 그러면 어떤 테이블을 먼저 적던지 순서에 상관 없이 같은 결과 값이 나와야 하는 것 아닌가요?
inner join 할 시에 염두해 두어야 하는 순서나 유의점이 있을까요?
답변 부탁드립니다.
감사합니다.
답변을 작성해보세요.
0
권 철민
지식공유자2023.11.04
안녕하십니까
첫번째 SQL에서 타이핑이 잘못되었군요.
SALES인데, SAELS 로 되었습니다. 고치시면 원하시는 답이 나올 것 같습니다.
감사합니다.
답변 1