이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

제 9 장. 토토 캔

두 클래스를 만들어 봅시다. 수도 클래스에는 상태가 포함되어 있습니다 도시 인 수도. 당연히 수도 클래스 도시에서 물려 받아야합니다.

테이블 도시 생성 (
    이름 텍스트,
    모집단 플로트,
    고도 int- (FT)
);

테이블 캐피탈 생성 (
    상태 char2
) 토토 캔 (도시);
이 경우 수도 인스턴스토토 캔모든 속성 (이름, 인구 및 고도) 부모, 도시로부터. 속성 이름의 유형입니다 이다텍스트, 원주민Postgres가변 길이 ASCII를 입력하십시오 문자열. 속성 모집단의 유형은float, 원주민Postgres이중 정밀 부동을 입력 할 수 있습니다 포인트 번호. 주 수도에는 추가 속성, 상태가 있습니다 그들의 상태를 보여줍니다. 안에Postgres, a 클래스는 0 개 이상의 다른 클래스에서 토토 캔 될 수 있으며 쿼리는 클래스의 모든 인스턴스 또는 모든 인스턴스를 참조하십시오. 클래스 플러스 모든 자손.

참고 :토토 캔 계층은 실제로 a입니다 지시 된 acyclic 그래프.

예를 들어, 다음 쿼리는 모든 도시를 찾습니다 500 피트 이상의 태도에 위치하고 있습니다 :
이름, 고도를 선택하십시오
    도시에서
    여기서 고도 500;

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

반면에 모든 도시의 이름을 찾기 위해 500 피트 이상의 고도에 위치한 주 수도, 쿼리는 :

C.Name, C.Altitude를 선택하십시오
    도시에서* c
    여기서 c.altitude 500;
반환 :
+----------+----------+
| 이름 | 고도 |
+----------+----------+
| 라스 베이거스 | 2174 |
+----------+----------+
| 마리포사 | 1953 |
+----------+----------+
| 매디슨 | 845 |
+----------+----------+
여기 도시의“*”는 쿼리가 토토 캔의 도시 아래 도시와 모든 수업을 통해 달리기 계층. 우리가 이미 논의한 많은 명령 -select, 업데이트and삭제-이 "*"표기법을 지원합니다 다른 사람, 좋아요Alter.