83page 오른쪽에 전문가의 조언에보면 기본테이플을 구성하는 모든 속성을 지정할때는 *로 표기합니다라는 설명이 있는데.
각 예제를 풀다보면 SELECT *가 붙은게있고
*가 없는게 있네요
예제문제를 대충 유추해보면 문제에 모든 튜플이라는 말이 있으면 다 *가 있는데
저게 맞나요?
아니라면 어떤경우에서 등장하는건가요? 이라는 질문에 이렇게 답변을 주셨는데 이해가 잘안됩니다.
한가지 예시들어주실수있나요
만약
SELECT 문에서 속성을 나열할 때 *을 사용하면 FROM 절에 기술된 테이블의 모든 속성을 의미합니다.
모든 속성을 표시할 때는 모든 속성을 직접 기술하거나 혹은 *로 대신 할 수 있습니다.
85page에 보면 예제1 <사원>테이블의 모든 튜플들을 검색하는 SQL문을 작성하시오
SELECT * FROM 사원;
SELECT 사원* FROM 사원;
SELECT 이름, 부서, 생일, 주소, 기본큽 FROM 사원;
SELECT 사원.이름, 사원.부서, 사원.생일, 사원.주소, 사원.기본급 FROM 사원;
이렇게나와있는데
설명해주신대로 말하면
SELECT * FROM 사원 이것을 SELECT 이름,부서,생일,주소,기본급 FROM 사원 이렇게 바꿔쓴다는 말인가요?
안녕하세요.
좀 더 자세하게 답변드렸어야 하는데, 번거롭게 해드려 죄송합니다.
85쪽에 제시된 예제1번은
모두 동일하게 <사원> 테이블에 속한 속성을 모두 추출하는 SQL 구문입니다.
SELECT * FROM 사원;
대표문자 *을 사용하여 모든 속성을 대신한 것입니다.
SELECT 사원.* FROM 사원;
속성명을 기술할 때 테이블명과 함께 기술할 수 있는데, 이때 마침표(.)를 이용하여 구분할 수 있습니다.
사원.이름 → 사원 테이블의 이름 속성을 의미합니다.
사원.* → 사원 테이블의 모든 속성을 의미합니다.
세 번째 내용은 속성명을 모두 기술한 것입니다.
네 번째 내용은 속성명에 테이블명을 함께 붙여서 기술한 것입니다.
다시 정리하면
SELECT 문에서 사용하는 대표문자 *은 모든 속성을 대신하는 것으로
모든 속성을 직접 기술하거나 *로 대신하여 작성할 수 있습니다.
참고로 속성명에 테이블명을 함께 기술하는 경우는 두 개 이상의 테이블을 관계 지을 때 두 테이블에 공통으로 있는 속성명을 사용하는 경우 어느 테이블의 속성명인지 구분하기 위해 테이블명과 속성명을 함께 기술하는 것인데,
하나의 테이블을 이용하는 경우에는 테이블명을 붙이지 않아도 됩니다.
즉 위 예제에서 두 번째나 네 번째와 같이 굳이 테이블명을 붙이지 않아도 된다는 것입니다.
또한 두 테이블을 이용하더라도 두 테이블에 공통으로 있는 속성이 아닌 경우는 테이블명을 기재하지 않고 속성명만 기술해도 됩니다.
이 와 같이 두 테이블을 이용할 때 테이블명을 함께 기술하는 내용은 뒤에서 JOIN 부분에서 학습하게 됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-06-15 15:59:30
안녕하세요.
좀 더 자세하게 답변드렸어야 하는데, 번거롭게 해드려 죄송합니다.
85쪽에 제시된 예제1번은
모두 동일하게 <사원> 테이블에 속한 속성을 모두 추출하는 SQL 구문입니다.
SELECT * FROM 사원;
대표문자 *을 사용하여 모든 속성을 대신한 것입니다.
SELECT 사원.* FROM 사원;
속성명을 기술할 때 테이블명과 함께 기술할 수 있는데, 이때 마침표(.)를 이용하여 구분할 수 있습니다.
사원.이름 → 사원 테이블의 이름 속성을 의미합니다.
사원.* → 사원 테이블의 모든 속성을 의미합니다.
세 번째 내용은 속성명을 모두 기술한 것입니다.
네 번째 내용은 속성명에 테이블명을 함께 붙여서 기술한 것입니다.
다시 정리하면
SELECT 문에서 사용하는 대표문자 *은 모든 속성을 대신하는 것으로
모든 속성을 직접 기술하거나 *로 대신하여 작성할 수 있습니다.
참고로 속성명에 테이블명을 함께 기술하는 경우는 두 개 이상의 테이블을 관계 지을 때 두 테이블에 공통으로 있는 속성명을 사용하는 경우 어느 테이블의 속성명인지 구분하기 위해 테이블명과 속성명을 함께 기술하는 것인데,
하나의 테이블을 이용하는 경우에는 테이블명을 붙이지 않아도 됩니다.
즉 위 예제에서 두 번째나 네 번째와 같이 굳이 테이블명을 붙이지 않아도 된다는 것입니다.
또한 두 테이블을 이용하더라도 두 테이블에 공통으로 있는 속성이 아닌 경우는 테이블명을 기재하지 않고 속성명만 기술해도 됩니다.
이 와 같이 두 테이블을 이용할 때 테이블명을 함께 기술하는 내용은 뒤에서 JOIN 부분에서 학습하게 됩니다.
오늘도 즐거운 하루 되세요.