2026_최신기출유형_01회
-3. 매크로 0/5
-매크로 비교 X [필터조회] 매크로 값이 정답과 다릅니다.
where 조건문에서 =[내용]=form~~~ 라고 쓰는 것 같은데 왜 정답은 =form~~~=[내용]만 처리 되나요??
1. 인기학과처리 쿼리 0/7문의하기
쿼리 비교 X [인기학과처리] 쿼리 (UPDATE 학과코드별교수, 프로그램 SET 학과코드별교수.비고 = "인기학과"; )이 정답(UPDATE 학과코드별교수 SET 학과코드별교수.비고 = "인기학과" WHERE (((학과코드별교수.학과명) In (select 학과명 from 프로그램 group by 학과명 having sum(인원)>=30))); )과 다릅니다.
질문에는 학과명이 없는데 학과명이 어떻게 해서 사용되는건지 궁금합니다.
5. 수강회원현황생성 쿼리 0/7문의하기
쿼리 비교 X [수강회원현황생성] 쿼리 (SELECT 문화센터등록.프로그램명, 프로그램.요일, 프로그램.시간, 문화센터등록.성명 INTO 조회프로그램수강현황 FROM 문화센터등록 INNER JOIN 프로그램 ON 문화센터등록.프로그램명 = 프로그램.프로그램명 WHERE (((문화센터등록.프로그램명) Like "*" & [프로그램명 일부 입력] & "*")); )이 정답(SELECT 프로그램.프로그램명, 프로그램.요일, 프로그램.시간, 문화센터등록.성명 INTO 조회프로그램수강현황 FROM 문화센터등록 INNER JOIN 프로그램 ON 문화센터등록.프로그램명 = 프로그램.프로그램명 WHERE (((프로그램.프로그램명) Like "*" & [프로그램명 일부 입력] & "*")); )과 다릅니다.
문화센터등록의 프로그램명이 아니라 프로그램의 프로그램명을 사용하는 이유에 대해 알고 싶습니다.
안녕하세요.
1)
왜 '학과명'이 사용되었나요?
문제 지문에는 '학과명'이라는 단어가 직접 나오지 않지만, 업데이트를 수행하기 위해서는 두 테이블(<학과코드별교수>, <프로그램>)을 연결할 고리가 반드시 필요합니다.
연결 고리 찾기: <학과코드별교수> 테이블에서 '비고'를 바꿔야 하는데, 정작 '수강 인원' 정보는 <프로그램> 테이블에 있습니다.
컴퓨터에게 "수강 인원 합계가 30명 이상인 학과를 찾아줘"라고 시키면, 컴퓨터는 두 테이블에서 공통으로 가지고 있는 '학과명' (또는 학과코드) 필드를 대조하여 "아, 이 학과가 그 학과구나!"라고 인식하게 됩니다.
따라서 정답 코드의 In (select 학과명 ...) 부분은 인원수가 30명 이상인 학과 이름들의 리스트를 먼저 뽑아내기 위해 사용된 것입니다.
2)
실행 결과(데이터) 면에서는 차이가 없지만, 데이터베이스 설계의 '기본 원칙' 측면에서 정답이 더 권장되는 방식입니다.
다만, 문제에서 직접적으로 사용할 대상이 제시된 경우가 아니라면 결과만 맞게 산출되면 맞게 채점됩니다.
'기준'이 되는 테이블을 선택하는 원칙
두 테이블 <프로그램>과 <문화센터등록>은 '프로그램명'이라는 필드로 연결되어 있습니다. 이때 각 테이블의 성격은 다음과 같습니다.
<프로그램> 테이블 (마스터/기본): 프로그램의 이름, 요일, 시간 등 정보의 원본을 관리하는 테이블입니다.
<문화센터등록> 테이블 (내역/참조): 어떤 회원이 어떤 프로그램을 신청했는지 기록하는 신청 내역 테이블입니다.
매개변수로 프로그램명을 입력받아 조회할 때는, 프로그램의 정확한 이름과 요일, 시간 정보를 모두 가지고 있는 원본 테이블(<프로그램>)의 필드를 기준으로 조회하는 것이 데이터의 무결성(정확성) 측면에서 훨씬 안전하고 정석적인 방법입니다.
즐거운 하루 되세요.
-
관리자2026-05-15 09:13:54
안녕하세요.
1)
왜 '학과명'이 사용되었나요?
문제 지문에는 '학과명'이라는 단어가 직접 나오지 않지만, 업데이트를 수행하기 위해서는 두 테이블(<학과코드별교수>, <프로그램>)을 연결할 고리가 반드시 필요합니다.
연결 고리 찾기: <학과코드별교수> 테이블에서 '비고'를 바꿔야 하는데, 정작 '수강 인원' 정보는 <프로그램> 테이블에 있습니다.
컴퓨터에게 "수강 인원 합계가 30명 이상인 학과를 찾아줘"라고 시키면, 컴퓨터는 두 테이블에서 공통으로 가지고 있는 '학과명' (또는 학과코드) 필드를 대조하여 "아, 이 학과가 그 학과구나!"라고 인식하게 됩니다.
따라서 정답 코드의 In (select 학과명 ...) 부분은 인원수가 30명 이상인 학과 이름들의 리스트를 먼저 뽑아내기 위해 사용된 것입니다.
2)
실행 결과(데이터) 면에서는 차이가 없지만, 데이터베이스 설계의 '기본 원칙' 측면에서 정답이 더 권장되는 방식입니다.
다만, 문제에서 직접적으로 사용할 대상이 제시된 경우가 아니라면 결과만 맞게 산출되면 맞게 채점됩니다.
'기준'이 되는 테이블을 선택하는 원칙
두 테이블 <프로그램>과 <문화센터등록>은 '프로그램명'이라는 필드로 연결되어 있습니다. 이때 각 테이블의 성격은 다음과 같습니다.
<프로그램> 테이블 (마스터/기본): 프로그램의 이름, 요일, 시간 등 정보의 원본을 관리하는 테이블입니다.
<문화센터등록> 테이블 (내역/참조): 어떤 회원이 어떤 프로그램을 신청했는지 기록하는 신청 내역 테이블입니다.
매개변수로 프로그램명을 입력받아 조회할 때는, 프로그램의 정확한 이름과 요일, 시간 정보를 모두 가지고 있는 원본 테이블(<프로그램>)의 필드를 기준으로 조회하는 것이 데이터의 무결성(정확성) 측면에서 훨씬 안전하고 정석적인 방법입니다.
즐거운 하루 되세요.
-
안*영2026-05-15 15:36:19