책 내용 질문하기
업데이트 쿼리
도서
2026 시나공 컴퓨터활용능력 1급 실기 총정리
페이지
373
조회수
29
작성일
2025-11-17
작성자
정*진

1. 업데이트 쿼리에서 테이블 몇 개 띄워야 하는지 헷갈려요


강의 설명에는 원래는 하나만 띄워야 하는데 구급활동 테이블을 이용하래서..? 띄워야 한다? 라고 하시는데 이해가 잘 안 갑니다. 보통 조건이 2개인데 하나만 띄우는 경우도 있잖아요. 그 둘의 차이를 문제에서 어떻게 파악해야 하는지 궁금합니다


-> 혹시 제가 생각하는 게 맞는지 봐주세요


두 테이블 간, 조건 필드가 관계 설정이 돼 있으면 테이블은 하나만.

만약 관계 설정이 안 돼 있으면 테이블은 2개 필요.


그러니까 여기선 출동건수가 소방본부와 연결 된 필드가 없으니까 구급활동 테이블을 바운드 시키고 테이블도 그대로 둬야함.


그러나 만약 본부번호가 나머지 조건이었다면, 구급활동 테이블은 필요 없고 소방본주의 순번만 바운드해서 조건 주면 됨.


맞나요?


2. 업데이트 할 테이블만 띄우고. 그러니까 소방본부 테이블만 띄우고

소방본부 조건에 그냥 in(select max(출동건수) from 구급활동) 이라고 썼거든요??


이렇게는 틀린 답인가요?? -> 틀렸다면 왜 틀렸나요?




감사합니다




답변
2025-11-20 14:18:53

안녕하세요.

작성하신 쿼리는

'비고' 필드에 조건을 적용한 것으로

[비고] = In (select max(출동건수) from 구급활동)

와 같은 의미입니다.

즉 <구급활동> 테이블에서 '출동건수'가 가장 큰 값을 찾아 그 값을 '비고' 필드와 비교하는 것이죠.

이것은 올바른 질의가 아닙니다.

이렇게 하고 싶다면

<소방본부> 테이블에서 비교 대상은 '출동건수' 필드가 있는 경우입니다.

하지만 <소방본부> 테이블에는 '출동건수' 필드가 없으므로 '출동건수' 필드가 있는 <구급활동> 테이블을 화면에 표시한 후 <구급활동> 테이블의 '출동건수' 필드에 In (select max(출동건수) from 구급활동) 조건을 적용합니다.

<소방본부>와 <구급활동>은 '순번'과 '본부번호'로 관계가 설정되어 있으므로 <구급활동> 테이블에서 찾은 가장 큰 '출동건수'의 '본부번호' 필드와 연결된 '순번' 필드의 '비고' 필드에 업데이트가 적용되는 원리입니다.


즐거운 하루 되세요.

  • 관리자
    2025-11-20 14:18:53

    안녕하세요.

    작성하신 쿼리는

    '비고' 필드에 조건을 적용한 것으로

    [비고] = In (select max(출동건수) from 구급활동)

    와 같은 의미입니다.

    즉 <구급활동> 테이블에서 '출동건수'가 가장 큰 값을 찾아 그 값을 '비고' 필드와 비교하는 것이죠.

    이것은 올바른 질의가 아닙니다.

    이렇게 하고 싶다면

    <소방본부> 테이블에서 비교 대상은 '출동건수' 필드가 있는 경우입니다.

    하지만 <소방본부> 테이블에는 '출동건수' 필드가 없으므로 '출동건수' 필드가 있는 <구급활동> 테이블을 화면에 표시한 후 <구급활동> 테이블의 '출동건수' 필드에 In (select max(출동건수) from 구급활동) 조건을 적용합니다.

    <소방본부>와 <구급활동>은 '순번'과 '본부번호'로 관계가 설정되어 있으므로 <구급활동> 테이블에서 찾은 가장 큰 '출동건수'의 '본부번호' 필드와 연결된 '순번' 필드의 '비고' 필드에 업데이트가 적용되는 원리입니다.


    즐거운 하루 되세요.

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