저번에 질문 드렸던 내용인데 이해가 잘 안되서요.
예제1 첫번째 줄
SELECT 학번, 이름, 학생.학과코드, 학과명
를 학과.학과코드, 학과명 으로 하는 것과 학생.학과코드, 학과명으로 하는게 똑같다고 하셨는데
학생에는 학과명이 없는데 왜 학생이 와도 되나요?
그리고, 이 부분에 학과가 들어간다면 3번째 줄인
WHERE 학생.학과코드=학과.학과코드 는 어떻게 바꿔야 하나요?
안녕하세요.
Select문에 작성되는 속성명은
두 테이블에 공통으로 있는 속성은 어느 테이블의 속성인지를 알리기 위해 테이블명.속성명으로 테이블명을 함께 적어야 하지만
한 테이블에만 있는 속성은 속성명만 적으면 됩니다.
예제1의 경우 학번, 이름은 <학생> 테이블에만 있고, 학과명은 <학과> 테이블에만 있으므로
속성명만 적었지만
학과코드의 경우 두 테이블에 모두 있기 때문에 어느 테이블인지 함께 명시해야 합니다.
그런데 조인 조건이 학과코드가 같은 것만 추출하므로
추출된 학과코드는 <학생> 테이블의 학과코드 이든 <학과> 테이블의 학과코드 이든 동일하므로
학생.학과코드 로 해도 되고 학과.학과코드 로 해도 된다는 의미입니다.
또한 3번째 줄은
테이블명이 바뀌어도 조건에는 영향을 주지 않습니다.
오늘도 즐거운 하루 되세요.
-
*2018-03-29 17:56:27
안녕하세요.
Select문에 작성되는 속성명은
두 테이블에 공통으로 있는 속성은 어느 테이블의 속성인지를 알리기 위해 테이블명.속성명으로 테이블명을 함께 적어야 하지만
한 테이블에만 있는 속성은 속성명만 적으면 됩니다.
예제1의 경우 학번, 이름은 <학생> 테이블에만 있고, 학과명은 <학과> 테이블에만 있으므로
속성명만 적었지만
학과코드의 경우 두 테이블에 모두 있기 때문에 어느 테이블인지 함께 명시해야 합니다.
그런데 조인 조건이 학과코드가 같은 것만 추출하므로
추출된 학과코드는 <학생> 테이블의 학과코드 이든 <학과> 테이블의 학과코드 이든 동일하므로
학생.학과코드 로 해도 되고 학과.학과코드 로 해도 된다는 의미입니다.
또한 3번째 줄은
테이블명이 바뀌어도 조건에는 영향을 주지 않습니다.
오늘도 즐거운 하루 되세요.