1. select c.deptno, c.dname, c.college, d.dname college_name from department c, department d where c.college = d.deptno; 위에 결과가 이해가 안되는데 college와 deptno가 같은 데이터들만 출력하라는걸로 이해하고 있는데 어떻게 이렇게 나오는거죠??(상위부서 출력) 102 멀티미디어학과 100 정보미디어학부 101 컴퓨터공학과 100 정보미디어학부 202 기계공학과 200 메카트로닉스학부 201 전자공학과 200 메카트로닉스학부 200 메카트로닉스학부 10 공과대학 100 정보미디어학부 10 공과대학 select w.ename, m.ename 관리자 from emp w, emp m where w.mgr = m.empno; 이것도 w.mgr = m.empno와 일치하는 것만 출력하라는건데 그러면 w.ename이랑 m.ename이랑 똑같이 나와야 하는 거 아닌가요??
2.상호연관 서브쿼리랑 셀프조인이 왜 쓰는지 어떻게 써지는지 이해가 안가는데 쉽게 설명좀 해주세요 ㅠㅠ
department 테이블에 컬럼이 deptno, college 컬럼을 보면,
college 가 상위 컬럼이고, deptno 가 하위 컬럼이라고 보시면 됩니다.
(college = 100 인 정보미디어학부 하위에 deptno = 101 과 deptno = 102 가 있습니다.
college = 100 인 정보미디어학부 상위에는 최상위 college 인 college = 10 인 공과대학이 있습니다.
college = 10 하위로 college = 100 과 동등한 위치의 college = 200 인 메카트로닉스 학부가 있습니다.
같은 테이블을 사용하고는 있지만, 다른 Alias 를 사용함으로써 다른 dname 값을 표현하고 있습니다.)
주로 계층형 관계를 표현하고자 할 때 사용합니다.
아래의 URL 정보를 참조하여, 공부하시면 도움이 될것 같네요.
http://www.gurubee.net/lecture/1300
추가적으로, 아래의 두 개의 URL 정보를 보고 공부하시길 추천드립니다.
http://www.gurubee.net/oracle/sql
http://www.gurubee.net/oracle/advanced