책 내용 질문하기
SQL-SELECT 다시질문합니다!
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
85
조회수
118
작성일
2017-06-15
작성자
탈퇴*원
첨부파일

83page 오른쪽에 전문가의 조언에보면 기본테이플을 구성하는 모든 속성을 지정할때는 *로 표기합니다라는 설명이 있는데.

각 예제를 풀다보면 SELECT *가 붙은게있고

*가 없는게 있네요

예제문제를 대충 유추해보면 문제에 모든 튜플이라는 말이 있으면 다 *가 있는데

저게 맞나요?

아니라면 어떤경우에서 등장하는건가요? 이라는 질문에 이렇게 답변을 주셨는데 이해가 잘안됩니다.

한가지 예시들어주실수있나요

만약

SELECT 문에서 속성을 나열할 때 *을 사용하면 FROM 절에 기술된 테이블의 모든 속성을 의미합니다.

모든 속성을 표시할 때는 모든 속성을 직접 기술하거나 혹은 *로 대신 할 수 있습니다.

85page에 보면 예제1 <사원>테이블의 모든 튜플들을 검색하는 SQL문을 작성하시오

SELECT * FROM 사원;

SELECT 사원* FROM 사원;

SELECT 이름, 부서, 생일, 주소, 기본큽 FROM 사원;

SELECT 사원.이름, 사원.부서, 사원.생일, 사원.주소, 사원.기본급 FROM 사원;

이렇게나와있는데

설명해주신대로 말하면

SELECT * FROM 사원 이것을 SELECT 이름,부서,생일,주소,기본급 FROM 사원 이렇게 바꿔쓴다는 말인가요?

답변
2017-06-15 15:59:30

안녕하세요.

좀 더 자세하게 답변드렸어야 하는데, 번거롭게 해드려 죄송합니다.

85쪽에 제시된 예제1번은

모두 동일하게 <사원> 테이블에 속한 속성을 모두 추출하는 SQL 구문입니다.

SELECT * FROM 사원;

대표문자 *을 사용하여 모든 속성을 대신한 것입니다.

SELECT 사원.* FROM 사원;

속성명을 기술할 때 테이블명과 함께 기술할 수 있는데, 이때 마침표(.)를 이용하여 구분할 수 있습니다.

사원.이름 → 사원 테이블의 이름 속성을 의미합니다.

사원.* → 사원 테이블의 모든 속성을 의미합니다.

세 번째 내용은 속성명을 모두 기술한 것입니다.

네 번째 내용은 속성명에 테이블명을 함께 붙여서 기술한 것입니다.

다시 정리하면

SELECT 문에서 사용하는 대표문자 *은 모든 속성을 대신하는 것으로

모든 속성을 직접 기술하거나 *로 대신하여 작성할 수 있습니다.

참고로 속성명에 테이블명을 함께 기술하는 경우는 두 개 이상의 테이블을 관계 지을 때 두 테이블에 공통으로 있는 속성명을 사용하는 경우 어느 테이블의 속성명인지 구분하기 위해 테이블명과 속성명을 함께 기술하는 것인데,

하나의 테이블을 이용하는 경우에는 테이블명을 붙이지 않아도 됩니다.

즉 위 예제에서 두 번째나 네 번째와 같이 굳이 테이블명을 붙이지 않아도 된다는 것입니다.

또한 두 테이블을 이용하더라도 두 테이블에 공통으로 있는 속성이 아닌 경우는 테이블명을 기재하지 않고 속성명만 기술해도 됩니다.

이 와 같이 두 테이블을 이용할 때 테이블명을 함께 기술하는 내용은 뒤에서 JOIN 부분에서 학습하게 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-06-15 15:59:30

    안녕하세요.

    좀 더 자세하게 답변드렸어야 하는데, 번거롭게 해드려 죄송합니다.

    85쪽에 제시된 예제1번은

    모두 동일하게 <사원> 테이블에 속한 속성을 모두 추출하는 SQL 구문입니다.

    SELECT * FROM 사원;

    대표문자 *을 사용하여 모든 속성을 대신한 것입니다.

    SELECT 사원.* FROM 사원;

    속성명을 기술할 때 테이블명과 함께 기술할 수 있는데, 이때 마침표(.)를 이용하여 구분할 수 있습니다.

    사원.이름 → 사원 테이블의 이름 속성을 의미합니다.

    사원.* → 사원 테이블의 모든 속성을 의미합니다.

    세 번째 내용은 속성명을 모두 기술한 것입니다.

    네 번째 내용은 속성명에 테이블명을 함께 붙여서 기술한 것입니다.

    다시 정리하면

    SELECT 문에서 사용하는 대표문자 *은 모든 속성을 대신하는 것으로

    모든 속성을 직접 기술하거나 *로 대신하여 작성할 수 있습니다.

    참고로 속성명에 테이블명을 함께 기술하는 경우는 두 개 이상의 테이블을 관계 지을 때 두 테이블에 공통으로 있는 속성명을 사용하는 경우 어느 테이블의 속성명인지 구분하기 위해 테이블명과 속성명을 함께 기술하는 것인데,

    하나의 테이블을 이용하는 경우에는 테이블명을 붙이지 않아도 됩니다.

    즉 위 예제에서 두 번째나 네 번째와 같이 굳이 테이블명을 붙이지 않아도 된다는 것입니다.

    또한 두 테이블을 이용하더라도 두 테이블에 공통으로 있는 속성이 아닌 경우는 테이블명을 기재하지 않고 속성명만 기술해도 됩니다.

    이 와 같이 두 테이블을 이용할 때 테이블명을 함께 기술하는 내용은 뒤에서 JOIN 부분에서 학습하게 됩니다.

    오늘도 즐거운 하루 되세요.

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