대부분의 다른 관계형 데이터베이스 제품과 마찬가지로PostgreSQL지원토토 사이트 함수. 토토 사이트 기능이 계산됩니다
여러 입력 행의 단일 결과. 예를 들어, 있습니다
계산하기위한 골재count
,
Sum
, avg
(평균),max
(최대) 및Min
(최소) a
행 세트.
예를 들어, 우리는 가장 높은 온도 판독 값을 찾을 수 있습니다. 어디서나 :
날씨에서 MAX (TEMP_LO)를 선택하십시오;
Max ----- 46 (1 행)
우리가 그 도시 (또는 도시)가 어떤 도시 (또는 도시)가 발생한 것을 알고 싶다면 우리는 시도 할 수 있습니다 :
emp_lo = max (temp_lo); 날씨에서 도시를 선택하십시오.잘못된
그러나 이것은 토토 사이트 이후로 작동하지 않습니다max
여기서절. (이 제한은이기 때문에 존재합니다.여기서절은 어떤 행이 될지 결정합니다
골재 계산에 포함; 분명히 그것은해야합니다
골재 기능이 계산되기 전에 평가됩니다.) 그러나 그대로
종종 쿼리가 원하는 것을 달성하기 위해리스트 될 수 있습니다.
결과, 여기에서를 사용하여SubQuery:
날씨에서 도시를 선택하십시오 여기서 temp_lo = (날씨에서 max (temp_lo)를 선택하십시오);
도시 ----------------- 샌프란시스코 (1 행)
하위 쿼리가 독립적 인 계산이기 때문에 괜찮습니다. 일어나는 일과 별도로 자체 토토 사이트를 계산합니다. 외부 쿼리에서.
토토 사이트는 또한와 함께 매우 유용합니다그룹 by조항. 예를 들어, 우리는 그것을 얻을 수 있습니다 다음과 함께 각 도시에서 관찰 된 최대 저온
City, Max (Temp_lo) 선택 날씨에서 도시 별 그룹;
City | 맥스 ---------------+----- 헤이워드 | 37 샌프란시스코 | 46 (2 줄)
도시 당 하나의 출력 행을 제공합니다. 각 토토 사이트 결과 그 도시와 일치하는 테이블 행을 통해 계산되었습니다. 우리는 필터링 할 수 있습니다 이 그룹화 된 행을 사용하여:
City, Max (Temp_lo) 선택 날씨에서 도시 별 그룹 Max (temp_lo) <40;
도시 | 맥스 ---------+----- 헤이워드 | 37 (1 행)
이것은 가지고있는 도시에 대해서만 동일한 결과를 제공합니다. 모두temp_lo40 미만의 값. 마지막으로, 우리가 이름으로 시작하는 도시에만 관심이 있다면"S", 우리는 할 수 있습니다 :
City, Max (Temp_lo) 선택 날씨에서 도시가 's%'를 좋아하는 곳(1)도시 별 그룹 Max (temp_lo) <40;
토토 사이트 간의 상호 작용을 이해하는 것이 중요합니다 그리고SQL's여기서and조항. 의 근본적인 차이여기서andis :여기서그룹 앞에 입력 행을 선택하십시오 토토 사이트는 계산됩니다 (따라서 행이 토토 사이트 계산), 반면그룹 및 토토 사이트가 계산 된 후 그룹 행을 선택하십시오. 따라서, 그만큼여기서절은 포함해서는 안됩니다 토토 사이트 기능; 토토 사이트를 사용하는 것은 말이되지 않습니다. 토토 사이트에 입력되는 행을 결정합니다. 에 반면,항상 조항 골재 기능이 포함되어 있습니다. (엄밀히 말하면, 당신은 허용됩니다 쓰기사용하지 않는 조항 토토 사이트이지만 거의 유용하지 않습니다. 같은 조건이있을 수 있습니다 에서 더 효율적으로 사용여기서Stage.)
이전 예에서는 도시 이름 제한을 적용 할 수 있습니다. 안에여기서토토 사이트가 필요하지 않기 때문입니다. 이것은 제한을 추가하는 것보다 더 효율적입니다, 우리는 그룹화를 피하기 때문에 실패하는 모든 행에 대한 토토 사이트 계산여기서check.
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
테이블 사이에 합류 | up | 업데이트 |