책 내용 질문하기
정보처리산업기사 실기 기본서 2권
도서
2020 시나공 정보처리산업기사 실기 [기본서]
페이지
97
조회수
364
작성일
2021-03-24
작성자
탈퇴*원
첨부파일

기본서 2권 97페이지 문제6번의 정답으로

 

SELECT 학생정보.학번, 이름, 결제여부

FROM 학생정보, 신청정보, 결제

WHERE 학생정보.학번 = 신청정보.학번

AND 신청정보.신청번호 = 결제.신청번호

AND 신청과목 = 'OpenGL';

 

이렇게 나와있는데 SELECT바로 뒤에 있는 '학생정보.학번' 왜 이것만 '.'을 사용해서 표시하였나요? 나머지도 다 같은 형태로 해주는게 아닌가요?

 

그리고 WHERE절에서 AND로 조건을 계속 이어갔는데 GROUP BY와 HAVING 절을 이용해서 표현할 수는 없나요?

답변
2021-03-25 11:17:38

안녕하세요 길벗수험서 운영팀입니다.

 

여러 테이블에서 속성을 호출할 때, 동일한 이름의 속성이 있는 경우 반드시 앞에 [테이블명]. 을 기재해줘야 합니다.

속성의 이름이 중복되지 않는다면 이는 생략해도 무방하며, 물론 상관없이 전부 기재해도 괜찮습니다.

 

where와 group by의 having을 명확히 구분하여 기억해두세요.

 

where는 전체 튜플에 대해 조건을 수행하는 것이라면,

having은 그룹으로 구분되어진 각 그룹에 대해 조건을 수행합니다.

 

추가로 테이블을 여러 개 호출한 경우 join 없이 group by를 수행하게 되면 원하는 결과가 나오지 않을 가능성이 큽니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-03-25 11:17:38

    안녕하세요 길벗수험서 운영팀입니다.

     

    여러 테이블에서 속성을 호출할 때, 동일한 이름의 속성이 있는 경우 반드시 앞에 [테이블명]. 을 기재해줘야 합니다.

    속성의 이름이 중복되지 않는다면 이는 생략해도 무방하며, 물론 상관없이 전부 기재해도 괜찮습니다.

     

    where와 group by의 having을 명확히 구분하여 기억해두세요.

     

    where는 전체 튜플에 대해 조건을 수행하는 것이라면,

    having은 그룹으로 구분되어진 각 그룹에 대해 조건을 수행합니다.

     

    추가로 테이블을 여러 개 호출한 경우 join 없이 group by를 수행하게 되면 원하는 결과가 나오지 않을 가능성이 큽니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.