값 스포츠 토토 결과은 다양한 상황에서 사용됩니다.select명령, 새 열 값으로삽입또는업데이트또는 a의 검색 조건에서스칼라, 그것을 구별하기 위해스칼라(또는 간단히스포츠 토토 결과). 스포츠 토토 결과식 구문이 허용합니다
값 스포츠 토토 결과식은 다음 중 하나입니다.
상수 또는 문자 적 가치
열 참조
a의 본문에서 위치 매개 변수 참조
구독 스포츠 토토 결과식
필드 선택 스포츠 토토 결과식
운영자 호출
함수 호출
집계 스포츠 토토 결과
창 함수 호출
타입 캐스트
스칼라 하위 쿼리
배열 생성자
행 생성자
괄호 안의 또 다른 값 스포츠 토토 결과식 (그룹에 사용됩니다
이 목록 외에도 많은 구성이 있습니다.토토 핫 : 문서 : 9.0 : 기능 및 연산자. 예는is null절.
우리는 이미 상수에 대해 논의했습니다섹션 4.1.2.
열은 양식으로 참조 할 수 있습니다.
상관 관계.columnName
상관 관계는 a의 이름입니다From절. 상관 관계 이름과 분리 점은 생략 될 수 있습니다메이저 토토 사이트 : 문서 : 9.0 : 쿼리.)
위치 매개 변수 참조는 값을 나타내는 데 사용됩니다.
$번호
예를 들어, 함수의 정의를 고려하십시오부서
, as :
함수 부서 만들기 (텍스트)는 부서를 반환합니다
여기$1값을 참조하십시오
스포츠 토토 결과식이 배열 유형의 값을 산출하면
스포츠 토토 결과[첨자]
또는 다중 인접 요소 (an"배열) 쓰기로 추출 할 수 있습니다
스포츠 토토 결과[lower_subscript:어퍼 _subscript]
(여기, 괄호[]첨자그 자체는 스포츠 토토 결과입니다
12513_12533스포츠 토토 결과괄호 안에 있어야하지만
mytable.arraycolumn [4]
마지막 예제의 괄호가 필요합니다. 보다PostgreSQL : 문서 : 9.0 : 토토더 많은 정보
스포츠 토토 결과식이 복합 유형의 값을 산출하는 경우 (행
스포츠 토토 결과.FieldName
일반적으로 행스포츠 토토 결과괄호 안에 있어야하지만
mytable.mycolumn
(따라서 자격을 갖춘 열 참조는 실제로 a입니다
(Compositecol) .Somefield
괄호는 여기를 보여주기 위해 필요합니다Compositecol는 테이블이 아닌 열 이름입니다mytable는 테이블입니다
연산자에게는 3 개의 가능한 구문이 있습니다
스포츠 토토 결과 운영자 스포츠 토토 결과(바이너리치기 |
운영자 스포츠 토토 결과(단수 접두사 |
스포츠 토토 결과 운영자(unery postfix |
연산자 (스키마.OperatorName)
어떤 특정 연산자가 존재하고 단독인지 여부토토 핫 : 문서 : 9.0 : 기능 및 연산자내장 연산자를 설명합니다.
함수 호출의 구문은 함수의 이름입니다.
function_name([스포츠 토토 결과 [, 스포츠 토토 결과 ... ]])
예를 들어, 다음은 제곱근을 계산합니다
sqrt (2)
내장 기능 목록이9 장. 다른 기능은 추가 할 수 있습니다
인수는 선택적으로 이름이 첨부 될 수 있습니다. 보다무지개 토토 : 문서 : 9.0 : 무지개 토토 호출
an집계 스포츠 토토 결과
Aggregate_name (스포츠 토토 결과[, ...] [Order_By_Clause])Aggregate_name(All스포츠 토토 결과[, ...] [Order_By_Clause])Aggregate_name(고유 한스포츠 토토 결과[, ...] [Order_By_Clause])Aggregate_name ( * )
여기서Aggregate_nameis스포츠 토토 결과모든 값입니다Order_By_Clause옵션입니다주문 by아래 설명대로 조항
첫 번째 골재 스포츠 토토 결과 형태는 집계를 호출합니다all기본값입니다. 그만큼count (*)
집계 기능.
대부분의 집계 함수는 널 입력을 무시하여 행
예를 들어count (*)count (f1)입력 행의 수를 산출합니다.f1이후count
널을 무시합니다. 그리고count (별개의 f1)고유 한 수를 산출합니다f1.
일반적으로 입력 행은 집계 함수에 공급됩니다.Min
생산array_agg
andString_agg
) 결과에 의존하는 결과를 생성합니다Order_By_Clause원하는 순서를 지정하는 데 사용할 수 있습니다. 그만큼Order_By_Clause와 동일한 구문이 있습니다주문 by조항, AS토토 꽁 머니 : 문서 : 9.0 : 정렬 행,
테이블에서 Array_agg (A 주문)를 선택하십시오.
다중 연계 집계 함수를 다룰 때,주문 by절은 간다
string_agg (a, ','order by a)를 선택하여 표에서
그렇지 않습니다 :
테이블에서 string_agg (a, ',')를 선택하십시오. -- 잘못된
후자는 구문 적으로 유효하지만 전화를 나타냅니다.주문 by키 (두 번째는 오히려 열쇠입니다
if별도의에 지정되어 있습니다Order_By_Clause,주문 by스포츠 토토 결과이어야합니다별도의목록.
참고 :둘 다 지정하는 기능별도의and주문집계 함수의 경우PostgreSQL확장.
사전 정의 된 집계 함수는에 설명되어 있습니다.섹션 9.18. 다른 집계
집계 스포츠 토토 결과식은 결과 목록에만 나타날 수 있습니다.a 조항select명령. 다른 사람에게는 금지되어 있습니다여기서
집계 스포츠 토토 결과식이 하위 쿼리에 나타날 때 (참조섹션and섹션), 집계는 일반적으로 행을 통해 평가됩니다.조항이 적용됩니다
A 창 함수 호출파티션 by목록) 창 함수 호출.
function_name([스포츠 토토 결과 [, 스포츠 토토 결과 ... ]]) 오버Window_name function_name([스포츠 토토 결과 [, 스포츠 토토 결과 ... ]]) 오버 (Window_definition ) function_name( *) OverWindow_name function_name( *) Over (Window_definition )
여기서Window_definition
[ 기존_window_name]스포츠 토토 결과[, ...]]스포츠 토토 결과[ASC | desc |운영자] [nulls 첫 번째 | 마지막 ] [, ...] ]frame_clause ]
및 선택 사항frame_clause
범위 | 줄frame_start범위 | 줄 사이의frame_start및frame_end
여기서frame_startandframe_end
미리 알려지지 않은value선행value다음
여기,스포츠 토토 결과파티션 byand주문 by목록은 본질적으로 있습니다그룹 byand주문 by전체의 조항Window_namea에 대한 참조입니다창절. 또는 전체Window_definition내부에 제공 될 수 있습니다창절; 참조select참조 페이지오버정확히 같지 않습니다Over (wname); 후자는 복사를 의미합니다
theframe_clause지정창, 프레임에 작용하는 창 함수의 경우frame_end생략 된 기본값현재 행. 제한은frame_startUnbounded Follow, frame_end미리 알려지지 않은및frame_end선택은 이전에 나타날 수 없습니다frame_start선택 - 예를 들어현재 행과 사이의 범위value선행허용되지 않습니다. 그만큼범위를 결합하지 않습니다,범위; 그것은 그것을 설정한다주문주문 (없으면 모든 행을 의미합니다주문 by). 일반적으로미리 알려지지 않은는 프레임이 시작된다는 것을 의미합니다Unbounded Follow는 프레임이 끝나는 것을 의미합니다범위또는행모드). 안에행모드,현재프레임이 전류로 시작되거나 끝나는 것을 의미합니다.범위모드를 의미합니다주문 by주문. 그만큼value 선행andvalue 다음케이스는 현재 허용됩니다행모드. 그들은 프레임이 시작된다는 것을 나타냅니다value정수 여야합니다
내장 창 함수는에 설명되어 있습니다.표 9-45.
사용*count (*) Over (x에 의한 파티션. *는 관례 적으로 그렇지 않습니다별도의또는주문함수 인수 목록에서 사용하려면
창 함수 호출은에서만 허용됩니다select목록 및주문쿼리 조항.
창 함수에 대한 자세한 내용은 찾을 수 있습니다.480060000048006000006000롤 토토48006000006000004800500004800600000600000480048005000000006, 섹션 9.19, 섹션.
유형 캐스트는 하나의 데이터 유형에서 변환을 지정합니다.PostgreSQL수락
cast (스포츠 토토 결과as타입 ) 스포츠 토토 결과::타입
the캐스트구문은 SQL을 준수합니다.::역사적PostgreSQL사용법.
캐스트가 알려진 값 스포츠 토토 결과식에 적용되는 경우섹션. 캐스트가 불완전한 문자 문자 그대로 적용됩니다
명시 적 유형 캐스트는 일반적으로 없으면 생략 할 수 있습니다."암시 적으로 적용해도"in
typename ( 스포츠 토토 결과 )
그러나 이것은 이름도있는 유형에 대해서만 작동합니다.이중 정밀이런 식으로 사용할 수는 없지만float8can. 또한,간격, TIME및타임 스탬프can
참고 :함수와 같은 구문은 실제로 a입니다"기능형 구문"캐스트 만들기.
스칼라 하위 쿼리는 평범합니다select정확히 반환되는 괄호 안의 쿼리메이저 토토 사이트 : 문서 : 9.0 : 쿼리쿼리 작성에 대한 정보는select쿼리가 실행되고 단일이 반환됩니다섹션 9.20
예를 들어, 다음은 가장 큰 도시 인구를 찾습니다
이름을 선택하십시오.
배열 생성자는 배열을 작성하는 스포츠 토토 결과식입니다.배열, 왼쪽 정사각형 브래킷[, 스포츠 토토 결과 목록 (쉼표로 구분)]. 예를 들어:
배열 선택 [1,2,3+4];
기본적으로 배열 요소 유형은 공통 유형의Union또는CASE구성 (참조섹션). 명시 적으로 캐스팅하여 이것을 무시할 수 있습니다
배열 선택 [1,2,22.7] :: 정수 [];
이것은 각 스포츠 토토 결과식을섹션.
다차원 배열 값은 중첩 어레이로 구축 할 수 있습니다배열생략 할 수 있습니다. 예를 들어,
배열 선택 [배열 [1,2], 배열 [3,4]];
다차원 배열은 직사각형, 내부 여야하므로배열생성자는 자동으로 전파됩니다
다차원 배열 생성자 요소는 무엇이든 될 수 있습니다배열구성. 예를 들어:
생성 테이블 arr (f1 int [], f2 int []);
빈 배열을 만들 수는 있지만 불가능하기 때문에
배열 선택 [] :: integer [];
결과에서 배열을 구성 할 수도 있습니다.배열
배열을 선택합니다 ( 'bytea%'와 같은 Proname과 같은 PG_PROC에서 OID를 선택);
하위 쿼리는 단일 열을 반환해야합니다. 결과
|배열항상 하나부터 시작합니다. 자세한 내용PostgreSQL : 문서 : 9.0 : 토토.
행 생성자는 행 값을 구축하는 스포츠 토토 결과식입니다.Row, 왼쪽 괄호, 0 이상
Select Row (1,2.5, '이것은 테스트입니다');
키워드Row옵션은 언제입니다
행 생성자는 구문을 포함 할 수 있습니다RowValue.*,.*구문은 A의 최상위 레벨에서 사용됩니다select목록. 예를 들어, 표t열이 있습니다f1andf2, 이들은 동일합니다 :
t에서 행 (t.*, 42)을 선택하십시오.
참고 :전PostgreSQL8.2,.*구문이 확장되지 않았으므로 쓰기Row (t.*, 42)2 필드를 만들었습니다.*, 예를 들어행 (t, 42).
기본적으로 aRow스포츠 토토 결과식은 익명 레코드 유형입니다.유형 생성 AS. 명백한 캐스트가 할 수도 있습니다
테이블 생성 mytable (f1 int, f2 float, f3 텍스트);
행 생성자를 사용하여 복합 값을 만들 수 있습니다.is null또는그렇지 않습니다, 예 :
SELECT ROW (1,2.5, '테스트입니다') = Row (1, 3, '동일하지 않음');
하위 스포츠 토토 결과의 평가 순서는 정의되지 않았습니다. ~ 안에
스포츠 토토 결과의 결과가있을 수 있다면
true 또는 somefunc (); 선택
thesomefunc ()
몇 가지 푸치 () 또는 true;를 선택하십시오.
이것은 왼쪽에서 오른쪽과 동일하지 않다는 점에 유의하십시오"단락"32374_32443
결과적으로 측면과 기능을 사용하는 것은 현명하지 않습니다.여기서and조항은 그 조항이기 때문에및/또는/아님조합) 그 조항에서
평가 순서를 강제하는 것이 필수적이면 ACASE구성 (참조섹션 9.16)를 사용할 수 있습니다. 을 위한여기서절 :
선택 ... 여기서 x> 0 및 y/x> 1.5;
하지만 안전합니다 :
선택 ... x> 0 이후의 경우 y/x> 1.5 else false end;
A CASE이것에 사용 된 구성y대신.)
CASE는 그런 치료법이 아닙니다섹션 35.6, 함수 및불변할 수 있습니다
x> 0이면 x> 0을 선택하여 x 1/0 끝 탭에서 1/0을 선택하십시오.
x> 0else팔은 절대되지 않을 것입니다
그 특정 예는 바보처럼 보일 수 있지만 관련이있을 수 있습니다pl/pgsql예를 들어 AN을 사용하는 기능if-the-else진술CASE스포츠 토토 결과.
같은 종류의 또 다른 한계는 A입니다.CASE집계의 평가를 방지 할 수 없습니다selectList 또는조항이 고려됩니다. 예를 들어, 다음 쿼리는 할 수 있습니다
Min (직원)> 0 인 경우 사례를 선택하십시오
themin ()
andavg ()
집계는 동시에 계산됩니다직원동일 0,min ()
. 대신, A 사용여기서문제가있는 입력 행을 방지하기위한 조항