SELECT 학생정보.학번, 이름, 결제여부 FROM 결제, 학생정보 WHERE 신청번호 IN (SELECT 신청번호 FROM 신청정보 WHERE 신청과목 = 'OPENGL');
이라고 해도 정답으로 인정되는건가요?
아니면 답지에 나와있는데로 해야하는건가요?
안녕하세요 길벗수험서 운영팀입니다.
반드시 정답과 동일하지 않아도 동일한 결과가 출력되면 정답으로 인정됩니다.
하지만 말씀하신 코드의 경우 각 테이블의 속성을 연결시켜주는 코드가 존재하지 않아 각 테이블의 값들이 중복출력되게 됩니다. 신청과목이 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');
행복한 하루되세요 :)