이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

63장. 고급포스트그레스 SQL특징

사용의 기본 사항을 다뤘습니다.포스트그레 SQL에 귀하의 데이터에 액세스하려면 이제 해당 토토 사이트에 대해 논의하겠습니다.포스트그레스그것과 구별되는 것은 기존 데이터 관리자. 이러한 기능에는 상속, 시간 여행 및 비원자 데이터 값(배열 및 집합 값 속성). 이 섹션의 예는 다음에서도 찾을 수 있습니다.advance.sql튜토리얼 디렉토리에 있습니다. (참조PostgreSQL : 문서 : 6.5 : 윈 토토 언어사용 방법 그것.)

상속

두 개의 클래스를 생성합시다. Capitals 클래스에는 상태가 포함되어 있습니다. 도시이기도 한 수도. 당연하게도 캐피탈 클래스는 도시에서 상속받아야 합니다.

테이블 도시 생성(
    이름 텍스트,
    인구 부동,
    고도 int -- (피트 단위)
);

CREATE TABLE 대문자(
    상태 char2
) 상속(도시);
이 경우 대문자의 인스턴스상속모든 속성(이름, 인구 및 고도)를 상위 도시로부터 가져옵니다. 속성 이름의 유형 이다텍스트, 원주민포스트그레스가변 길이 ASCII용 유형 문자열. 속성 채우기 유형은 다음과 같습니다.플로트, 원주민포스트그레스배정밀도 부동용 유형 포인트 번호. 주 수도에는 주라는 추가 속성이 있습니다. 그들의 상태를 보여줍니다. 에서포스트그레, 클래스는 0개 이상의 다른 클래스에서 상속할 수 있으며 쿼리는 클래스의 모든 인스턴스 또는 클래스의 모든 인스턴스를 참조합니다. 클래스와 그 모든 하위 항목을 포함합니다.

참고:상속 계층은 방향성 비순환입니다. 그래프.

예를 들어, 다음 쿼리는 모든 도시를 찾습니다. 500피트 이상의 고도에 위치한 경우:
SELECT 이름, 고도
    도시에서
    고도  500인 곳;

+---------+----------+
|이름 | 고도 |
+---------+----------+
|라스베가스 | 2174 |
+---------+----------+
|마리포사 | 1953년 |
+---------+----------+

한편, 다음을 포함한 모든 도시의 이름을 찾으려면 해발 500피트가 넘는 고도에 위치한 주도 쿼리는 다음과 같습니다:

SELECT c.이름, c.고도
    도시에서* c
    c.altitude  500;
반환:
+------------+----------+
|이름 | 고도 |
+---------+----------+
|라스베가스 | 2174 |
+---------+----------+
|마리포사 | 1953년 |
+---------+----------+
|매디슨 | 845 |
+---------+----------+
여기서 도시 뒤의 "*"는 쿼리가 다음과 같아야 함을 나타냅니다. 도시와 도시 아래의 모든 계층을 상속 재산으로 운영합니다. 계층 구조. 우리가 이미 논의한 많은 명령 (선택, 업데이트그리고삭제)은 다음과 같이 이 "*" 표기법을 지원합니다. 다른 사람, 같은변경.