책 내용 질문하기
2권 데이터베이스 99쪽 질문이요
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
99
조회수
93
작성일
2018-10-01
작성자
탈퇴*원
첨부파일

조인할 때 두 테이블에 모두 속해있는 속성은 속성명 표기해야한다고 했는데

99쪽 예제1 sql 문 작성하는 곳에서

select 학번,이름,학생.학과코드,학과명 이렇게 되있는데

=> select 학번,이름,학과.학과코드,학과명 이렇게 써도 되나요??

기준이 되는 게 있는건지 궁금합니다.

그리고 from 학생 natural join 학과; 이런식으로 소문자도 되나요??

하나 더, 그룹함수 COUNT 같은 것들은 대문자로 써야되는 거 맞죠? 함수니까?

not,and,or 이것도 소문자 가능한지도 좀 알려주세요.

소문자 되는거랑 안되는 게 너무 헷갈린데 정리해두신 표 같은거 있으면 좀 알려주시면 감사하겠습니다.

추가질문

113쪽 4번 문제에서

revoke grant option for update on 수강 from 임꺽정 cascade; 는 답이 될 수 없나요??

답안지에 있는 답만 가능한지요?

128쪽 8번문제

select 학교.학교명,지역

from 학교 left outer join 학과 on 학교.학교명= 학과.학교명

where 학과명 is null; 이렇게 되어있는데

select ~ from ~ where (+) 구문으로 바꾼다면 아래처럼 바꿀수 있을까요??

select 학교.학교명,지역

from 학교,학과

where 학교.학과명 = 학과.학교명(+) and 학과명 is null; ?? 이런식으로 가능한가요?

where 절에 2개 조건 붙을 때 and 로 쓰는게 맞는지

답변
2018-10-02 11:32:43

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

select 학번,이름,학생.학과코드,학과명 이렇게 되있는데 => select 학번,이름,학과.학과코드,학과명 이렇게 써도 되나요??

기준이 되는 게 있는건지 궁금합니다.

[답변]

예, 해당 SQL문에서는 어떤 테이블의 속성명을 써도 무관합니다.

다만 left join 또는 right join의 경우 조인 대상이 되는 테이블이 아닌 메인 테이블의 속성명을 적어주셔야 합니다.

소문자 되는거랑 안되는 게 너무 헷갈린데 정리해두신 표 같은거 있으면 좀 알려주시면 감사하겠습니다.

[답변]

모두 소문자로 사용하셔도 무관합니다.

예약어에 해당하는 함수, 명령어, 옵션 등은 모두 소문자로 사용 가능합니다.

evoke grant option for update on 수강 from 임꺽정 cascade; 는 답이 될 수 없나요??

답안지에 있는 답만 가능한지요?

[답변]

아닙니다.

답지의 해설은 grant option for는 사용하는 의미가 없다라는 것을 설명할 뿐, grant option for를 사용해도 오답이 되는 것은 아닙니다.

select ~ from ~ where (+) 구문으로 바꾼다면 아래처럼 바꿀수 있을까요??

select 학교.학교명,지역

from 학교,학과

where 학교.학과명 = 학과.학교명(+) and 학과명 is null;

?? 이런식으로 가능한가요?

where 절에 2개 조건 붙을 때 and 로 쓰는게 맞는지

[답변]

가능할 것으로 보입니다.

MySQL에서는 (+)기능이 적용되지 않아 아래와 같이 변형하여 테스트 해보았습니다.

select 학교.학교명, 지역
from 학교 left outer join 학과2
on 학교.학교명 = 학과2.학교명
where 학과명 is NULL;

위 경우 동일한 결과가 출력됩니다.

오라클에서 (+) 옵션과 and가 함께 사용이 가능한지 알 수 없으나, 정확성을 위해 가능한 (+)보다는 outer join을 직접 입력해 주세요.

행복한 하루되세요.^^

  • *
    2018-10-02 11:32:43

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

    select 학번,이름,학생.학과코드,학과명 이렇게 되있는데 => select 학번,이름,학과.학과코드,학과명 이렇게 써도 되나요??

    기준이 되는 게 있는건지 궁금합니다.

    [답변]

    예, 해당 SQL문에서는 어떤 테이블의 속성명을 써도 무관합니다.

    다만 left join 또는 right join의 경우 조인 대상이 되는 테이블이 아닌 메인 테이블의 속성명을 적어주셔야 합니다.

    소문자 되는거랑 안되는 게 너무 헷갈린데 정리해두신 표 같은거 있으면 좀 알려주시면 감사하겠습니다.

    [답변]

    모두 소문자로 사용하셔도 무관합니다.

    예약어에 해당하는 함수, 명령어, 옵션 등은 모두 소문자로 사용 가능합니다.

    evoke grant option for update on 수강 from 임꺽정 cascade; 는 답이 될 수 없나요??

    답안지에 있는 답만 가능한지요?

    [답변]

    아닙니다.

    답지의 해설은 grant option for는 사용하는 의미가 없다라는 것을 설명할 뿐, grant option for를 사용해도 오답이 되는 것은 아닙니다.

    select ~ from ~ where (+) 구문으로 바꾼다면 아래처럼 바꿀수 있을까요??

    select 학교.학교명,지역

    from 학교,학과

    where 학교.학과명 = 학과.학교명(+) and 학과명 is null;

    ?? 이런식으로 가능한가요?

    where 절에 2개 조건 붙을 때 and 로 쓰는게 맞는지

    [답변]

    가능할 것으로 보입니다.

    MySQL에서는 (+)기능이 적용되지 않아 아래와 같이 변형하여 테스트 해보았습니다.

    select 학교.학교명, 지역
    from 학교 left outer join 학과2
    on 학교.학교명 = 학과2.학교명
    where 학과명 is NULL;

    위 경우 동일한 결과가 출력됩니다.

    오라클에서 (+) 옵션과 and가 함께 사용이 가능한지 알 수 없으나, 정확성을 위해 가능한 (+)보다는 outer join을 직접 입력해 주세요.

    행복한 하루되세요.^^

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