책 내용 질문하기
2021 정보처리기사 실기 SQL문 질문입니다.
도서
2021 시나공 정보처리기사 실기
페이지
101,128
조회수
452
작성일
2021-03-23
작성자
탈퇴*원
첨부파일

안녕하세요

101페이지 15번 문제에 대해 질문입니다.

 

답은

SELECT 상호, 총액

FROM 거래내역

WHERE 총액 IN (SELECT MAX(총액) FROM 거래내역);

 

인데

 

SELECT 상호, MAX(총액) FROM 거래내역 WHERE 총액

1. 맥스를 바로 앞에서 사용을 할 수 없나요?

 

2. WHERE 절에서 WHERE 속성 =  이랑 속성 IN 이랑 언제 써야하는지 아직 잘 모르겠습니다

하위문 작성시는 IN이고 속성에서 바로 튜플의 값을 지정할때는 = 을 사용하는 것인가요?

 

3. SQL은 대소문자 구분이 없는 것으로 아는데, 실제 시험에서 대소문자를 혼용해서 SQL문을 작성해도 괜찮나요?

예) Select From Where

 

4. ALTER와 INSERT를 사용해야할 때가 헷갈립니다.

아직 컬럼=ALTER를 사용한다는 것밖에 모르고 '필드'와 같은 다른 말이 사용되었을 때는 헷갈리는데

선생님께서 문제를 풀 때 ALTER와 INSERT 각각 어떤 키워드가 들어가는지 알려주시면 감사하겠습니다. 

 

                        

답변
2021-03-23 10:33:14

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

 

[1]

select 상호, max(총액) from 거래내역;

이 경우 max(총액)으로 반환된 튜플의 '상호'가 출력되지 않습니다.

상호는 첫 번째 튜플인 '대명금속'이 출력되고, 총액에는 max 값이 출력되는 이상한 결과가 나오게 되죠.

 

[2]

우측의 값이 단일인 경우 =, 복수인 경우 IN을 사용합니다.

정답에서 하위 쿼리는 단일 결과를 반환하기 때문에 IN 대신 =를 사용해도 무방합니다.

다만 안전한 쿼리 작성을 위해 하위 쿼리에는 항상 IN을 사용해주는 것이 좋습니다.

 

[3]

예, 전혀 문제없습니다.

sELect FroM whERE

 

[4]

음.. 두 명령문은 개념이 아예 다릅니다.

문제를 읽어보고 이 문제가 말하는 동작을 수행했을 때 테이블에 어떤 결과를 가져오는지 보고 판단해보세요.

예를 들어, 문제대로 수행하게 되면 '테이블의 구조가 변경된다.' 라고 한다면 ALTER를 사용해야 합니다.

여기에는 속성명 변경, 속성 추가, 속성의 자료형 변경 등이 있겠죠.

다른 면에서 문제대로 수행하게 되면 '테이블에 데이터가 추가된다.'라고 한다면 INSERT를 사용해야 합니다.

다른 테이블에서 데이터를 가져와 추가하던지, 직접 입력하든지 등이 있겠죠.

 

행복한 하루되세요 :)

  • 관리자
    2021-03-23 10:33:14

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

     

    [1]

    select 상호, max(총액) from 거래내역;

    이 경우 max(총액)으로 반환된 튜플의 '상호'가 출력되지 않습니다.

    상호는 첫 번째 튜플인 '대명금속'이 출력되고, 총액에는 max 값이 출력되는 이상한 결과가 나오게 되죠.

     

    [2]

    우측의 값이 단일인 경우 =, 복수인 경우 IN을 사용합니다.

    정답에서 하위 쿼리는 단일 결과를 반환하기 때문에 IN 대신 =를 사용해도 무방합니다.

    다만 안전한 쿼리 작성을 위해 하위 쿼리에는 항상 IN을 사용해주는 것이 좋습니다.

     

    [3]

    예, 전혀 문제없습니다.

    sELect FroM whERE

     

    [4]

    음.. 두 명령문은 개념이 아예 다릅니다.

    문제를 읽어보고 이 문제가 말하는 동작을 수행했을 때 테이블에 어떤 결과를 가져오는지 보고 판단해보세요.

    예를 들어, 문제대로 수행하게 되면 '테이블의 구조가 변경된다.' 라고 한다면 ALTER를 사용해야 합니다.

    여기에는 속성명 변경, 속성 추가, 속성의 자료형 변경 등이 있겠죠.

    다른 면에서 문제대로 수행하게 되면 '테이블에 데이터가 추가된다.'라고 한다면 INSERT를 사용해야 합니다.

    다른 테이블에서 데이터를 가져와 추가하던지, 직접 입력하든지 등이 있겠죠.

     

    행복한 하루되세요 :)

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