책 내용 질문하기
2권 데이터 베이스 97p 문제 6번 질문있습니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
97
조회수
965
작성일
2019-03-08
작성자
탈퇴*원
첨부파일

SELECT 학생정보.학번, 이름, 결제여부 FROM 결제, 학생정보 WHERE 신청번호 IN (SELECT 신청번호 FROM 신청정보 WHERE 신청과목 = 'OPENGL');

이라고 해도 정답으로 인정되는건가요?

 

아니면 답지에 나와있는데로 해야하는건가요?

답변
2019-03-11 10:31:42

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

 

반드시 정답과 동일하지 않아도 동일한 결과가 출력되면 정답으로 인정됩니다.

 

하지만 말씀하신 코드의 경우 각 테이블의 속성을 연결시켜주는 코드가 존재하지 않아 각 테이블의 값들이 중복출력되게 됩니다. 신청과목이 opengl이 아닌 튜플까지 말이죠.

 

각 테이블을 연결 시켜주는 '학생정보.학번 = 신청정보.학번 AND 신청정보.신청번호 = 결제.신청번호'가 반드시 필요하며, where in을 적용하여 풀고자 한다면 아래와 같은 코드가 되겠네요.

 

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

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

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

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

    AND 신청정보.신청번호 IN (

SELECT 신청번호

        FROM 신청정보

        WHERE 신청과목 = 'OPENGL');

 

행복한 하루되세요 :)

  • 관리자
    2019-03-11 10:31:42

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

     

    반드시 정답과 동일하지 않아도 동일한 결과가 출력되면 정답으로 인정됩니다.

     

    하지만 말씀하신 코드의 경우 각 테이블의 속성을 연결시켜주는 코드가 존재하지 않아 각 테이블의 값들이 중복출력되게 됩니다. 신청과목이 opengl이 아닌 튜플까지 말이죠.

     

    각 테이블을 연결 시켜주는 '학생정보.학번 = 신청정보.학번 AND 신청정보.신청번호 = 결제.신청번호'가 반드시 필요하며, where in을 적용하여 풀고자 한다면 아래와 같은 코드가 되겠네요.

     

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

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

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

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

        AND 신청정보.신청번호 IN (

    SELECT 신청번호

            FROM 신청정보

            WHERE 신청과목 = 'OPENGL');

     

    행복한 하루되세요 :)

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