지원되는 버전 :현재(17) /16 / 15 / 14 / 13
개발 버전 :18 / Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

롤 토토

롤 토토

선택-테이블에서 행을 검색하십시오 보다

시놉시스

[All | 뚜렷한 [on (표현[, ...])]]]
    * |표현[asoutput_name] [, ...]
    [ 에서from_item[, ...]]
    [ 어디조건]
    [그룹 by표현[, ...]]
    [hade조건[, ...]]
    [Union | 교차 |  [all]을 제외하고롤 토토]
    [주문표현[asc | desc | 사용운영자] [, ...]]
    [ 한계count| 모두  ]
    [오프셋시작]
    [업데이트 [oftable_name[, ...]]]

어디from_item중 하나 일 수 있습니다.

    [ 오직 ]table_name[ *] [[as]alias[(column_alias[, ...])]]
    (롤 토토) [as]별명[(column_alias[, ...])function_name([인수[, ...]) [as]alias[(column_alias[, ...] |column_definition[, ...])]function_name([인수[, ...]]) as (column_definition[, ...])from_item[자연]join_type from_item[onjoin_condition| 사용 ( 사용join_column[, ...])

설명

롤 토토하나 또는에서 행을 검색합니다 더 많은 테이블. 의 일반적인 처리롤 토토다음과 같습니다.

  1. From목록은입니다 계산. (의 각 요소From목록은 실제 또는 가상 테이블입니다.) 둘 이상의 요소가 에 지정됨From목록입니다 함께 교차 조명. (보다절에서아래.)

  2. 여기서조항이 지정되어 있습니다. 조건을 충족하지 않는 모든 행이 제거됩니다. 출력에서. (보다어디서 절아래.)

  3. 그룹 by절은입니다 지정된 출력은 하나 이상의 값으로 일치합니다. 인 경우절이 있으면 그룹이 제거됩니다 주어진 조건을 만족시키지 않습니다. (보다그룹 별 그룹and아래.)

  4. 실제 출력 행은를 사용하여 계산됩니다.롤 토토선택한 각각의 출력 표현식 열. (보다목록 선택아래.)

  5. 연산자 사용Union, Intersect제외, 하나 이상의 출력롤 토토진술을 결합하여 a를 형성 할 수 있습니다 단일 결과 세트. 그만큼Union운영자는 하나 또는 둘 다에있는 모든 행을 반환합니다. 결과 세트. 그만큼교차운영자 두 결과 세트 모두에 엄격하게있는 모든 행을 반환합니다. 그만큼제외운영자는 행을 반환합니다 첫 번째 결과 세트에 있지만 두 번째 결과는 아닙니다. ~ 안에 세 가지 경우 모두, 중복 행이 제거되지 않으면all지정되어 있습니다. (보다Union 조항, 교차 절절을 제외하고아래.)

  6. 주문 by절은입니다 지정된 반환 된 행은 지정된 것으로 정렬됩니다 주문하다. 만약에주문 by는 주어지지 않습니다 시스템이 가장 빠르게 찾는 순서대로 행이 반환됩니다. 생산합니다. (보다주문별 주문아래.)

  7. 별도의복제본을 제거합니다 결과의 행.별개의지정된 모든 표현식에서 일치하는 행을 제거합니다.all(기본값)는 모두를 반환합니다 중복을 포함한 후보 행. (보다고유 한 절아래.)

  8. Limit또는오프셋조항이 지정되어 있습니다.롤 토토Statement는 하위 집합 만 반환합니다 결과 행. (보다한계 조항아래.)

  9. the업데이트절의 원인롤 토토잠금 문 동시 업데이트에 대한 선택 행. (보다업데이트 조항아래.)

당신은 있어야합니다롤 토토a 값을 읽는 테이블. 사용업데이트요구업데이트특권으로 잘.

매개 변수

From

theFrom절은 하나를 지정합니다 더 많은 소스 테이블롤 토토. 만약에 여러 소스가 지정되고 결과는 직교입니다 모든 출처의 제품 (크로스 조인). 그러나 보통 반품을 제한하기 위해 자격 조건이 추가됩니다 직교 제품의 작은 부분 집합에 행.

theFrom절을 포함 할 수 있습니다 다음 요소 :

table_name

기존의 롤 토토 (선택적으로 스키마 자격) 테이블 또는보기. 만약에전용IS 지정된 테이블 만 스캔됩니다. 만약에전용표와 모든 것이 지정되지 않았습니다 후손 테이블 (있는 경우)이 스캔됩니다.*테이블 롤 토토에 추가 할 수 있습니다 후손 테이블을 스캔해야하지만 현재 버전은 기본 동작입니다. (안에 7.1 이전에 출시,전용기본 동작.) 기본 동작 일 수 있습니다 변경하여 수정SQL_INHERITANCE구성 옵션.

alias

대체 롤 토토From별칭이 포함 된 항목. 별칭 간결하거나 모호성을 제거하는 데 사용됩니다 selfjoins (동일한 테이블이 다중 스캔됩니다 타임스). 별칭이 제공되면 완전히 숨 깁니다 테이블 또는 기능의 실제 롤 토토; 예를 들어 주어진foo from foo as f, 나머지롤 토토필수 이것을 참조하십시오From항목 asf아님foo. 별칭이 작성된 경우 열이 있습니다 별칭 목록은 대체물을 제공하기 위해 작성할 수도 있습니다 테이블의 하나 이상의 열에 대한 롤 토토.

롤 토토

a sub롤 토토그만큼From절. 이것은 출력은 임시 테이블로 생성되었지만 이 싱글의 지속 시간롤 토토명령. 주목하십시오 보결-롤 토토둘러싸여 있어야합니다 괄호 및 별칭필수제공됩니다 그것.

function_name

함수 호출이에 나타날 수 있습니다From절. (이것은 특히 유용합니다 결과 세트를 반환하는 함수의 경우 사용될 수 있습니다.) 이것은 출력이 생성 된 것처럼 작동합니다. 이 싱글 기간 동안 임시 테이블로롤 토토명령. 별칭은 할 수 있습니다 또한 사용됩니다. 별칭이 작성된 경우 열 별명 목록입니다 하나의 대체 롤 토토을 제공하기 위해 작성할 수 있습니다. 또는 함수의 복합 리턴의 더 많은 속성 유형. 함수가 반환되는 것으로 정의 된 경우레코드데이터 유형, 그런 다음 별명 또는 키워드as있어야합니다. 양식의 열 정의 목록이 뒤 따릅니다(column_name data_type[, ...]). 열 정의 목록이 있어야합니다 반환 된 실제 수와 열의 유형과 일치합니다. 함수.

join_type

  • [내부] 조인

  • 왼쪽 [외부] 조인

  • 오른쪽 [외부] 조인

  • 전체 [외부] 조인

  • 크로스 조인

내부and외부결합 유형, 조인 조건이 있어야합니다 지정, 즉 정확히천연, onjoin_condition또는사용 ( 사용join_column[, ...]). 보다 의미를 위해 아래. 을 위한크로스 가입하다,이 조항 중 어느 것도 나타나지 않을 수 있습니다.

aJoin절의 결합 2From항목. 괄호를 사용하십시오 중첩 순서를 결정하는 데 필요합니다. 에서 괄호의 부재,Joins 왼쪽에서 오른쪽으로 둥지. 어쨌든Join쉼표보다 더 단단히 바인딩합니다 분리품목.

크로스 조인and내부 조인간단한 직교를 생산합니다 제품, 두 가지를 나열하여 얻은 것과 동일한 결과 최상위 수준의 항목From, 그러나 조인 조건 (있는 경우)에 의해 제한됩니다.크로스 조인내부 조인 on (true), 즉 행이 없습니다 자격으로 제거. 이 결합 유형은 a입니다 그들이 당신을하지 않기 때문에 표기법 편의성 평원으로 할 수 없음and여기서.

왼쪽 외부 조인모든 것을 반환합니다 자격을 갖춘 직교 제품의 행 (즉, 모두 결합 조건을 통과하는 결합 행)와 하나 왼쪽 테이블에있는 각 행의 사본 조인 조건을 통과 한 오른쪽 행이 아닙니다. 이 왼쪽 줄은 오른쪽에 null 값을 삽입하여 테이블에 결합했습니다 열. 만 참고Join절을 결정하는 동안 조항의 조건이 고려됩니다 행에는 일치합니다. 외부 조건이 적용됩니다 나중에.

반대로오른쪽 외부 조인결합 된 모든 행을 반환하고 각각 1 행을 반환합니다. 타의 추종을 불허하는 오른쪽 줄 (널에 널으로 확장되었습니다 왼쪽). 이것은 당신이기 때문에 단지 표기법 편의입니다 로 변환 할 수 있습니다.왼쪽 외부 가입하다왼쪽 및 오른쪽 입력을 전환하여.

전체 외부 조인모든 것을 반환합니다 결합 된 행, 타의 추종을 불허하는 각 행 왼쪽 줄 (오른쪽에 널으로 연장), 플러스 타의 추종을 불허하는 각각의 오른쪽 행에 한 줄 (연장 왼쪽의 널).

onjoin_condition

join_conditionis 유형의 값을 초래하는 표현부울(A와 유사여기서절) 조인은 일치하는 것으로 간주됩니다.

사용 ( 사용join_column[, ...])

양식의 조항사용 (A, B, ...)속기입니다.on left_table.a = right_table.a 및 left_table.b = right_table.b .... 또한,사용| 각 쌍 중 하나만 암시합니다 동등한 열의 조인지에 포함됩니다 출력, 둘 다가 아닙니다.

천연

천연a의 속기입니다.사용모든 것을 언급하는 목록 롤 토토이 같은 두 테이블의 열.

여기서

선택 사항여기서절은 일반 양식

여기서조건

여기서조건유형의 결과로 평가하는 표현부울. 이것을 만족시키지 않는 행 출력에서 조건이 제거됩니다. 행이 만족합니다 실제 행 값이있을 때 true가 반환되는 경우 조건 변수 참조로 대체되었습니다.

그룹 by

선택 사항그룹 by절은 일반 양식

그룹 by표현[, ...]

그룹 bya로 응축됩니다 단일 행에 동일한 값을 공유하는 모든 선택된 행 그룹화 된 표현.표현입력 열 롤 토토 또는 롤 토토 또는 서수 번호 일 수 있습니다. 출력 열 (롤 토토목록 항목), 또는 입력-열 값으로부터 형성된 임의의 표현. ~ 안에 모호한 사례, a그룹 by롤 토토 will be interpreted as an input-column name rather than an 출력 열 롤 토토.

집계 함수가 사용되는 경우 계산됩니다 각 그룹을 구성하여 별도의 값을 생성합니다. 각 그룹 (그룹 by, 집계는 모든에서 계산 된 단일 값을 생성합니다. 선택된 행). 언제그룹 byis 현재, 그것은에 유효하지 않습니다.롤 토토그룹화되지 않은 표현식을 참조하십시오 집계 함수 내에서 제외한 열 그룹화되지 않은 것으로 반환 할 수있는 하나 이상의 가능한 값 열.

선택 사항절은 일반 양식

조건

여기서조건동일합니다 에 지정된대로여기서절.

그룹 행을 제거합니다 조건을 만족시키지 마십시오.|여기서: 여기서개별 행 앞에서 필터링합니다 의 적용그룹 by, while필터 그룹 행에 의해 생성 된그룹 by. 참조 된 각 열조건명백히 말해야합니다 참조가 나타나지 않는 한 그룹화 열을 참조하십시오 집계 기능 내에서.

롤 토토목록

the롤 토토목록 (키 사이 단어롤 토토andFrom) 출력을 형성하는 표현식을 지정합니다 의 줄롤 토토진술. 그만큼 표현은 계산 된 열을 참조 할 수 있습니다 (일반적으로 수행) 그만큼From절. 조항 사용asoutput_name, 다른 롤 토토이 될 수 있습니다 출력 열에 대해 지정됩니다. 이 롤 토토은 주로 익숙합니다 디스플레이를 위해 열에 레이블을 지정하십시오. 또한 참조하는 데 사용될 수 있습니다 열의 값주문 by그룹 by클로즈이지만여기서또는조항; 거기에서 당신은 작성해야합니다 대신 표현.

표현 대신*할 수 있습니다 출력 목록에 모든 열에 대한 속기로 작성 선택된 행의. 또한 글을 쓸 수 있습니다table_name.*AS 그 표에서 나오는 열에 대한 속기.

Union

theUnion절은이 장군을 가지고 있습니다 형태:

롤 토토_statementUnion [All]롤 토토_statement

롤 토토_statement롤 토토주문, Limit또는업데이트절. (주문 byandLimitcan 동봉 된 경우 서브 표현에 부착됩니다. 괄호. 괄호가 없으면이 조항이 취해집니다 의 결과에 적용하려면Union, 오른쪽 입력 표현이 아닙니다.)

theUnion운영자는 세트를 계산합니다 관련 줄의 노동 조합롤 토토진술. 행은 정해진 연합에 있습니다 결과 중 하나 이상에 나타나면 두 가지 결과 세트 세트. 두롤 토토진술 의 직접 피연산자를 나타냅니다.Union동일한 수의 열을 생성해야합니다. 해당 열은 호환 데이터 유형이어야합니다.

결과Union그렇지 않습니다 가 아닌 한 중복 행을 포함합니다.all옵션이 지정되어 있습니다.all중복 제거를 방지합니다. (그러므로,Union All보통입니다 보다 훨씬 빠릅니다.Union; 사용all가능할 때)

다중Union같은롤 토토명령문이 평가됩니다 괄호로 달리 명시되지 않는 한 왼쪽에서 오른쪽으로.

현재,업데이트그렇지 않을 수 있습니다 A에 대해 지정Union결과 또는 A의 입력에 대해Union.

Intersect

theIntersect절은 이것을 가지고 있습니다 일반 양식 :

롤 토토_statement교차 [All]롤 토토_statement

롤 토토_statement롤 토토주문 by, Limit또는업데이트절.

theIntersect운영자가 관련 줄의 교차점을 설정롤 토토진술. 행이 안에 있습니다 두 결과 모두에 나타나면 두 결과 세트의 교차점 세트.

결과교차그렇지 않습니다 가 아닌 한 중복 행을 포함합니다.all옵션이 지정되어 있습니다. 와 함께all,있는 행M왼쪽 테이블의 복제 및n오른쪽 테이블의 복제 MIN ( 나타납니다.M,n) 결과 세트의 시간.

다중Intersect같은롤 토토명령문이 평가됩니다 괄호가 달리 지시하지 않는 한 왼쪽에서 오른쪽으로.Intersect|Union. 즉,연합 b 교차 c|연합 (b 교차 c).

현재,업데이트그렇지 않을 수 있습니다 에 대해 지정교차결과 또는 AN의 입력에 대한교차.

제외

the제외절은이 장군이 있습니다 형태:

롤 토토_statement[All] 제외롤 토토_statement

롤 토토_statement롤 토토주문 by, Limit또는업데이트 용절.

the제외운영자는 다음을 계산합니다 왼쪽 결과에있는 행 세트롤 토토성명서는 그렇지 않습니다 맞습니다.

결과의 결과제외그렇지 않습니다 가 아닌 한 중복 행을 포함합니다.all옵션이 지정되어 있습니다. 와 함께all,있는 행M왼쪽 테이블의 복제 및n오른쪽 테이블의 복제 max (가 나타납니다.M-n, 0) 결과 세트에서 횟수

다중제외같은롤 토토명령문이 평가됩니다 괄호가 달리 지시하지 않는 한 왼쪽에서 오른쪽으로.제외와 같은 수준에서 바인딩Union.

현재,업데이트그렇지 않을 수 있습니다 에 대해 지정제외결과 또는의 입력에 대해제외.

주문

선택 사항주문 by절은 이 일반적인 형태 :

주문 by표현[ASC | desc | 사용운영자] [, ...]

표현롤 토토이 될 수 있습니다 또는 출력 열의 서수 번호 (롤 토토목록 항목) 또는 임의 일 수 있습니다 입력-열 값에서 형성된 표현.

the주문 by절의 원인 지정된 것에 따라 정렬 할 결과 행입니다 표현. 두 행이 가장 왼쪽에 따라 동일하다면 발현, 다음은 다음 표현에 따라 비교된다 등. 그들이 지정된 모든 것에 따라 동일하다면 표현식은 구현 의존적으로 반환됩니다 주문하다.

서수 번호는 서수를 나타냅니다 (왼쪽에서 오른쪽으로) 결과 열의 위치. 이 기능은 가능합니다 그렇지 않은 열을 기준으로 순서를 정의합니다. 독특한 롤 토토이 있습니다. 이것은 절대적으로 필요하지 않습니다 항상 롤 토토을 결과 열에 할당 할 수 있습니다. 그만큼as절.

주문 by열을 포함한 절 에 나타나지 않습니다.롤 토토결과 목록. 따라서 다음 진술은 유효합니다.

유통 업체에서 롤 토토을 선택하여 코드별로 주문;

이 기능의 한계는입니다.주문 byA의 결과에 적용되는 조항Union, Intersect또는제외조항은 출력 열 롤 토토 또는 번호 만 지정할 수 있습니다. 표현.

IF an주문 by표현은 a 결과 열 롤 토토과 입력과 일치하는 간단한 롤 토토 열 롤 토토,주문 by해석됩니다 결과 열 롤 토토입니다. 이것은 반대입니다 선택그룹 by같은 상황. 이 불일치는 호환됩니다 SQL 표준으로.

선택적으로 키워드를 추가 할 수 있습니다ASC(오름차순) 또는desc(내림차순)에서 어떤 식 으로든주문 by절. 지정되지 않은 경우ASC기본적으로 가정됩니다. 또는 a 특정 주문 연산자 롤 토토은에 지정 될 수 있습니다.사용절.ASC일반적으로사용 <anddescIS 일반적으로에 해당합니다.사용. (하지만 사용자 정의 데이터 유형의 제작자는 정확히 무엇을 정의 할 수 있습니다. 기본 정렬 순서는 다음과 같습니다. 다른 롤 토토을 가진 운영자.)

널 값은 다른 값보다 더 높습니다. 다른 Words, 오름차순 순서로 null 값은 끝에 정렬을하고 그리고 내림차순 정렬 순서를 사용하면 널 값은 시작.

문자-문자열 데이터에 따라 정렬됩니다 Locale-Specific Collation Order가 설립되었을 때 데이터베이스 클러스터가 초기화되었습니다.

별도의

if별개의지정되어 있습니다 결과 세트에서 중복 행이 제거됩니다 (한 행은 유지됩니다. 중복의 각 그룹에서).all반대를 지정합니다. 모든 행은 유지됩니다. 그것이 기본.

별개의 (표현[, ...])주어진 표현식이있는 각 행 세트의 첫 번째 줄 동등하게 평가하십시오. 그만큼별개의표현식은와 동일한 규칙을 사용하여 해석됩니다.주문 by(위 참조)."First Row"41050_41093주문사용됩니다 원하는 행이 먼저 나타나는지 확인합니다. 예를 들어,

(위치) 위치, 시간, 보고서에서 별개의 선택을 선택하십시오
    Weather_Reports에서
    위치별로 주문, 시간 desc;

각 위치에 대한 최신 기상 보고서를 검색합니다. 하지만 우리가 사용하지 않았다면주문 byto 각 위치에 대한 내림차순 시간 값을 강제로 각각에 대한 예측할 수없는 시간으로부터 보고서를 받았습니다. 위치.

the별개의표현은해야합니다 가장 왼쪽 일치주문 by표현. 그만큼주문 by절 일반적으로 결정하는 추가 표현식이 포함됩니다 각 내에서 원하는 행의 우선 순위별개의Group.

Limit

theLimit절은 두 가지로 구성됩니다 독립적 인 하위 조명 :

Limitcount| 모두시작

count최대 값을 지정합니다 반환 할 행 수, 동안시작행 수를 지정합니다 줄을 반환하기 전에 건너 뜁니다. 둘 다 지정되면시작행은 전에 건너 뜁니다 계산하기 시작count반환 할 행.

사용시Limit, 좋은 생각입니다 사용하려면주문 by조항 결과 행을 고유 순서로 제한합니다. 그렇지 않으면 당신 쿼리 행의 예측할 수없는 하위 집합을 얻을 수 있습니다. 10 일에서 20 줄까지 요구하지만 10 번째 20에서 어떤 주문을 통해? 당신은 무엇을 모릅니다 지정하지 않는 한 주문주문 에 의해.

쿼리 플래너가Limit쿼리 계획을 생성 할 때 계정이므로 가능성이 높습니다. 다른 계획 (다른 행 주문을 산출)에 따라 얻습니다 당신이 사용하는 것에Limit오프셋. 따라서 다른 사용Limit/오프셋쿼리 결과의 다른 서브 세트를 선택할 값일관성이 없을 것입니다 결과예측 가능한 결과 순서를 시행하지 않는 한 와 함께주문 by. 이것은 버그가 아닙니다. 그것 SQL이 그렇지 않다는 사실의 고유 한 결과입니다. 특정 쿼리 결과를 전달할 것을 약속합니다. 주문하지 않는 한 주문주문 by익숙합니다 순서를 제한하십시오.

업데이트

the업데이트절은 이것을 가지고 있습니다 형태:

업데이트 [oftable_name[, ...]]

업데이트행을 유발합니다 에 의해 검색롤 토토진술 업데이트를 위해 잠겨 있습니다. 이것은 그들을 존재하지 못하게합니다 현재까지 다른 트랜잭션에 의해 수정 또는 삭제되었습니다 트랜잭션이 끝납니다. 즉, 시도하는 다른 거래업데이트, 삭제또는선택을 선택하십시오 업데이트이 행 중 전류가 될 때까지 차단됩니다 트랜잭션이 끝납니다. 또한,업데이트, 삭제또는선택 update다른 거래에서 이미 잠겨 a 선택한 행 또는 행,선택을 선택하십시오 업데이트다른 거래가 완료 될 때까지 기다립니다. 그런 다음 업데이트 된 행을 잠그고 반환합니다. 행이 삭제되었습니다). 추가 논의는 참조12 장.

특정 테이블이 롤 토토 지정된 경우업데이트, 그러면 해당 테이블에서 나오는 행만이 있습니다 잠긴; 에 사용 된 다른 테이블롤 토토평소와 같이 간단히 읽습니다.

업데이트사용할 수 없습니다 반환 된 행으로 명확하게 식별 할 수없는 컨텍스트 개별 테이블 행; 예를 들어 사용할 수 없습니다 집합.

업데이트이전에 나타날 수 있습니다Limit와 호환성PostgreSQL이전 버전 7.3. 효과적으로 실행Limit46072_46138

주의

행을 잠그고 그 내에서 수정하는 것을 피하십시오. 나중에 SavePoint 또는pl/pgsql예외 블록. 에이 후속 롤백으로 인해 자물쇠가 손실됩니다. 예를 들어,

시작;
mytable에서 *를 선택하십시오. 여기서 key = 1 업데이트;
SavePoint S;
mytable set을 업데이트 ... 여기서 key = 1;
s; 롤백

이후롤백, 행 그로 돌아 오기보다는 사실상 잠금 해제됩니다 잠금되었지만 수정되지 않은 사전 사전 포인트 상태. 이 위험은 전류에 잠긴 경우 발생합니다. 트랜잭션이 업데이트되거나 삭제됩니다 : 이전 잠금 상태는 잊혀졌습니다. 트랜잭션이 롤링되면 원래 잠금 명령 사이의 상태로 돌아갑니다 그리고 후속 변경, 행은 전혀 잠겨 있습니다. 이것은 구현 부족입니다 향후 릴리스에서 다룰 것입니다.PostgreSQL.

주의

a 가능합니다.롤 토토두 가지를 사용하는 명령Limitand업데이트반환 할 조항 에 의해 지정된 것보다 적은 행Limit. 이건이기 때문입니다.Limit여러 행을 선택하지만 그런 다음 요청을 차단할 수 있습니다for 업데이트잠금. 일단롤 토토차단 해제, 쿼리 자격 충족되지 않고 행을 반환하지 않을 수 있습니다.롤 토토.

예제

테이블에 가입하려면영화테이블유통 업체:

F.Title, F.Did, D.Name, F.Date_Prod, F.Kind를 선택하십시오
    유통 업체 D, 필름 f
    여기서 f.did = d.did

       제목 | |     롤 토토 | date_prod |   친절한
------------------+-----+-----------------------------------
 세 번째 사람 | 101 | 영국 사자 | 1949-12-23 | 드라마
 아프리카 여왕 | 101 | 영국 사자 | 1951-08-11 | 로맨틱
 ...

열을 합산하려면Len49143_49186Kind:

Kind의 Total from Films Group의 SOLE SONT, SUM (LEN);

   친절 | 총
----------+-------
 행동 | 07:34
 코미디 | 02:58
 드라마 | 14:28
 뮤지컬 | 06:42
 낭만적 인 | 04:38

열을 합산하려면Len모든 영화, 결과를 그룹Kind5 시간 미만의 그룹 총액 :

SELECT KIND, SUM (LEN)을 총으로 선택하십시오
    영화에서
    친절하게 그룹
    합 (Len) <interval '5 시간';

   친절 | 총
----------+-------
 코미디 | 02:58
 낭만적 인 | 04:38

다음 두 가지 예는 동일하게 정렬하는 방법입니다. 두 번째 열의 내용에 따른 개별 결과 (롤 토토) :

유통 업체에서 롤 토토별로 선택 * 선택;
배급 자 주문 *을 선택하여 2;

 |       롤 토토
-----+-------------------
 109 | 20 세기 폭스
 110 | 바이에른 아틀리에
 101 | 영국 사자
 107 | 콜롬비아
 102 | 장 루크 고다드
 113 | 루소 영화
 104 | MOSFILM
 103 | 최고의
 106 | 도호
 105 | 연합 예술가
 111 | 월트 디즈니
 112 | 워너 브라더스
 108 | 서부 제국

다음 예제는 테이블의 결합을 얻는 방법을 보여줍니다유통 업체배우, 결과를 그 결과로 제한합니다 각 테이블의 문자 w로 시작하십시오. 독특한 행만이 있습니다 원한다, 그래서 핵심 단어allIS 생략.

유통 업체 : 배우 :
 |     롤 토토 ID |     롤 토토
-----+-----------------+------------------
 108 | 서쪽으로 1 | 우디 앨런
 111 | 월트 디즈니 2 | 워렌 비티
 112 | 워너 브라더스 3 | 월터 마타 우
 ... ...

유통 업체를 선택하십시오
    유통 업체로부터
    장소는 'W%'와 같은 롤 토토
노동 조합
actors.name을 선택하십시오
    배우로부터
    여기서 행위자. 롤 토토은 'w%';

      롤 토토
---------------
 월트 디즈니
 월터 마타 우
 워너 브라더스
 워렌 비티
 서부 제국
 우디 앨런

이 예제는에서 함수를 사용하는 방법을 보여줍니다.From열이 있거나없는 조항 정의 목록 :

기능 분배기 생성 (int) 배급 자 세트를 $$로 반환합니다
    배급 자에서 *를 선택하십시오.
$$ 언어 SQL;

배급 자에서 *를 선택하십시오 (111);
 |    롤 토토
-----+----------
 111 | 월트 디즈니

function distributors_2 (int) 작성 레코드를 $$로 반환합니다
    배급 자에서 *를 선택하십시오.
$$ 언어 SQL;

배급소에서 *를 선택하십시오 _2 (111) AS (f1 int, f2 text);
 F1 |     F2
-----+----------
 111 | 월트 디즈니

호환성

물론롤 토토성명서입니다 SQL 표준과 호환됩니다. 그러나 약간의 확장이 있습니다 그리고 일부 누락 된 기능.

생략FromClauses

PostgreSQL하나를 허용합니다 생략From절. 그것은 있습니다 간단한 결과를 계산하기 위해 간단한 사용 표현 :

롤 토토 2+2;

 ?열?
---------
        4

다른SQL데이터베이스 더미 한 열 테이블을 소개하는 것 외에는이를 수행 할 수 없습니다. 무엇을 해야하는지롤 토토.

덜 분명한 사용은 정상을 약화시키는 것입니다롤 토토테이블에서 :

유통 업체를 선택하십시오.* 유통 업체 .name = '서쪽으로';

 |   롤 토토
-----+---------
 108 | 서부 제국

이것은 암시 적이기 때문에 작동합니다From다른 부분에서 참조되는 각 테이블에 대해 항목이 추가됩니다. 의롤 토토진술이지만 그렇지 않습니다 언급From.

이것은 편리한 속기이지만 오용하기 쉽습니다. 예를 들어, 명령

유통 업체 선택.* 유통 업체에서 D;

아마 실수 일 것입니다. 아마도 사용자가 의미

d.* 유통 업체에서 d.*를 선택하십시오. d;

제한되지 않은 조인 대신

유통 업체 선택.* 유통 업체 D, 유통 업체 유통 업체;

그가 실제로 얻을 것입니다. 이런 종류의 감지를 돕습니다 실수,PostgreSQL경고 암시 적 인 경우From기능이 사용됩니다 에서롤 토토명시 적 포함From절. 또한 암시 적을 비활성화 할 수 있습니다.From기능을 설정하여 기능add_missing_from거짓으로 매개 변수.

theas키워드

SQL 표준에서 선택적인 키워드as는 소음 일뿐 아니라없이 생략 할 수 있습니다 의미에 영향을 미칩니다. 그만큼PostgreSQL파서에는이 키 단어가 필요합니다 유형 확장 성이므로 출력 열 롤 토토을 바꿀 때 특징은 그것없이 모호성을 구문 분석합니다.as옵션From항목.

네임 스페이스 사용 가능그룹 byand주문 by

SQL-92 표준에서 AN주문 by조항은 결과 열 롤 토토 또는 숫자 만 사용할 수 있지만 A그룹 by절은 만 사용할 수 있습니다 입력 열 롤 토토을 기반으로 한 표현식.PostgreSQL이러한 조항을 연장합니다 다른 선택도 허용하기 위해 (그러나 표준을 사용합니다. 모호성이있는 경우 해석).PostgreSQL또한 두 절 모두를 허용합니다 임의 표현식을 지정하십시오. 롤 토토에 표시되는 롤 토토이 나타납니다 표현식은 항상 입력 열 롤 토토으로 간주됩니다. 결과 열 롤 토토.

SQL : 1999는 약간 다른 정의를 사용하지 않습니다 SQL-92와 완전히 호환됩니다. 그러나 대부분의 경우PostgreSQL해석 할 것입니다주문 by또는그룹 에 의해SQL : 1999와 같은 방식과 같은 표현.

비표준 조항

클로즈별개의, Limit오프셋SQL 표준에서 정의되지 않았습니다.