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

4.7. 가입 배트맨 토토 사이

지금까지, 우리의 쿼리는 한 번에 하나의 배트맨 토토에만 액세스했습니다. 쿼리는 한 번에 여러 배트맨 토토에 액세스하거나 동일하게 액세스 할 수 있습니다. 배트맨 토토의 여러 행이있는 방식으로 배트맨 토토 동시에 처리됩니다. 여러 행에 액세스하는 쿼리 한 번에 동일하거나 다른 배트맨 토토 중 하나는 조인이라고합니다. 질문. 예를 들어, 우리는 다른 레코드의 온도 범위에 있습니다. 사실상, 우리는 필요합니다 각 날씨 행의 temp_lo 및 temp_hi 열을 다른 모든 날씨 기둥의 temp_lo 및 temp_hi 열.

참고 :이것은 개념적 모델 일뿐입니다. 실제 가입은보다 효율적인 방식으로 수행 될 수 있지만 이것은 사용자에게는 보이지 않습니다.

다음 쿼리 로이 작업을 수행 할 수 있습니다.
w1.city, w1.temp_lo로 낮은 w1.
    w2.city, w2.temp_lo는 낮고, w2.temp_hi는 높다
    날씨 W1, 날씨 W2에서
    여기서 w1.temp_lo <w2.temp_lo
    및 w1.temp_hi w2.temp_hi;

+--------------+-----+------+------------------------------+
| 도시 | 낮음 | 높은 | 도시 | 낮음 | 높은 |
+--------------+-----+------+------------------------------+
| 샌프란시스코 | 43 | 57 | 샌프란시스코 | 46 | 50 |
+--------------+-----+------+------------------------------+
| 샌프란시스코 | 37 | 54 | 샌프란시스코 | 46 | 50 |
+--------------+-----+------+--------------------------------+

참고 :그러한 결합의 의미는 자격은 직교에 정의 된 진실 표현입니다 쿼리에 표시된 배트맨 토토의 제품. 그 행을 위해 자격이 진실한 데카르트 제품에서Postgres계산 및 대상 목록에 지정된 값을 반환합니다.Postgres SQL중복에 대한 의미를 할당하지 않습니다 그러한 표현의 가치. 이것은Postgres때로는 동일하게 재구성합니다 목표 목록을 여러 번; 이것은 자주 발생합니다 부울 표현은 "또는"와 연결되어 있습니다. 제거하려면 그러한 복제물, 당신은를 사용해야합니다.선택 별개의진술.

이 경우 둘 다W1andW2배트맨 토토 날씨 행의 대리자입니다. 그리고 둘 다 배트맨 토토의 모든 행에 범위를 둔다. (용어에서 대부분의 데이터베이스 시스템,W1W2범위 변수.) 쿼리에는 임의의 배트맨 토토 수가 포함될 수 있습니다. 이름과 대리.