[All | 뚜렷한 [on (표현[, ...])]]] * |표현[asoutput_name] [, ...] [ 에서from_item[, ...]] [ 어디조건] [그룹 by표현[, ...]] [hade조건[, ...]] [Union | 교차 | [all]을 제외하고와이즈 토토] [주문표현[ASC | desc | 사용운영자] [, ...]] [ 한계count| 모두 ] [오프셋시작] [업데이트 [oftable_name[, ...]]] 어디from_item중 하나 일 수 있습니다. [ 오직 ]table_name[ *] [[as]alias[(column_alias[, ...])]] (와이즈 토토) [as]alias[(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[, ...])]
와이즈 토토하나 또는에서 행을 검색합니다 더 많은 테이블. 의 일반적인 처리와이즈 토토다음과 같습니다.
의 모든 요소목록은입니다 계산. (의 각 요소From목록은 실제 또는 가상 테이블입니다.) 둘 이상의 요소가 에 지정됨From목록입니다 함께 교차 조명. (보다From Clause아래.)
여기서조항이 지정되어 있습니다. 조건을 충족하지 않는 모든 행이 제거됩니다. 출력에서. (보다어디서 절아래.)
그룹 by절은입니다 지정된 출력은 하나 이상의 값으로 일치합니다. 인 경우절이 있으면 그룹이 제거됩니다 주어진 조건을 만족시키지 않습니다. (보다그룹 별 그룹and절아래.)
연산자 사용Union, Intersect및제외, 하나 이상의 출력와이즈 토토명령문을 결합하여 a를 형성 할 수 있습니다 단일 와이즈 토토 세트. 그만큼Union운영자는 하나 또는 둘 다에있는 모든 행을 반환합니다. 와이즈 토토 세트. 그만큼Intersect연산자 두 와이즈 토토 세트 모두에 엄격하게있는 모든 행을 반환합니다. 그만큼제외운영자는 행을 반환합니다 첫 번째 와이즈 토토 세트에 있지만 두 번째 와이즈 토토는 아닙니다. ~ 안에 세 가지 경우 모두, 중복 행이 제거되지 않으면all지정되어 있습니다. (보다Union 조항, 교차 절및절을 제외하고아래.)
실제 출력 행은를 사용하여 계산됩니다.와이즈 토토선택한 각각의 출력 표현식 열. (보다목록 선택아래.)
주문 by절은입니다 지정된 반환 된 행은 지정된 것으로 정렬됩니다 주문하다. 만약에주문 by는 주어지지 않습니다 시스템이 가장 빠르게 찾는 순서대로 행이 반환됩니다. 생산합니다. (보다주문별 주문아래.)
별도의복제본을 제거합니다 와이즈 토토의 행.별개의지정된 모든 표현식에서 일치하는 행을 제거합니다.all(기본값)는 모두를 반환합니다 중복을 포함한 후보 행. (보다고유 한 절아래.)
Limit또는오프셋조항이 지정되어 있습니다.와이즈 토토Statement의 하위 집합 만 반환합니다 와이즈 토토 행. (보다한계 조항아래.)
the업데이트절의 원인와이즈 토토잠금 진술 동시 업데이트에 대한 선택 행. (보다업데이트 조항아래.)
당신은 있어야합니다와이즈 토토특권 a 값을 읽는 테이블. 사용업데이트요구업데이트특권으로 잘.
theFrom조항은 하나를 지정합니다 더 많은 소스 테이블와이즈 토토. 만약에 여러 소스가 지정되고 와이즈 토토는 직교입니다 모든 출처의 제품 (크로스 조인). 그러나 보통 반품을 제한하기 위해 자격 조건이 추가됩니다 직교 제품의 작은 부분 집합에 행.
From-Clase 요소는 할 수 있습니다 포함하다:
기존의 이름 (선택적으로 스키마 자격) 테이블 또는보기. 만약에전용IS 지정된 테이블 만 스캔됩니다. 만약에전용표와 모든 것이 지정되지 않았습니다 후손 테이블 (있는 경우)이 스캔됩니다.*테이블 이름에 추가 할 수 있습니다 후손 테이블을 스캔해야하지만 현재 버전은 기본 동작입니다. (안에 7.1 이전에 출시,전용기본 동작.) 기본 동작 일 수 있습니다 변경하여 수정SQL_INHERITANCE구성 옵션.
대체 이름From별칭이 포함 된 항목. 별칭 간결하거나 모호성을 제거하는 데 사용됩니다 selfjoins (동일한 테이블이 다중 스캔됩니다 타임스). 별칭이 제공되면 완전히 숨 깁니다 테이블 또는 기능의 실제 이름; 예를 들어 주어진foo as f, 나머지와이즈 토토필수 이것을 참조하십시오From항목 asFnotfoo. 별칭이 작성된 경우 열이 있습니다 별칭 목록은 대체물을 제공하기 위해 작성할 수도 있습니다 테이블의 하나 이상의 열에 대한 이름.
a sub와이즈 토토그만큼From절. 이것은 출력은 임시 테이블로 생성되었지만 이 싱글의 지속 시간와이즈 토토명령. 주목하십시오 보결-와이즈 토토주변으로 둘러싸여 있어야합니다 괄호 및 별칭필수제공됩니다 그것.
함수 호출은에 나타날 수 있습니다.From절. (이것은 특히 유용합니다 와이즈 토토 세트를 반환하는 함수의 경우 사용될 수 있습니다.) 이것은 출력이 생성 된 것처럼 작동합니다. 이 싱글 기간 동안 임시 테이블로와이즈 토토명령. 별칭은 할 수 있습니다 또한 사용됩니다. 별칭이 작성된 경우 열 별명 목록입니다 하나의 대체 이름을 제공하기 위해 작성할 수 있습니다. 또는 함수의 복합 리턴의 더 많은 속성 유형. 함수가 반환되는 것으로 정의 된 경우레코드데이터 유형, 그런 다음 별칭 또는 키워드as있어야합니다. 양식의 열 정의 목록이 뒤 따릅니다(column_name data_type[, ...]). 열 정의 목록이 있어야합니다 반환 된 실제 수와 열의 유형과 일치합니다. 함수.
[내부] 조인
왼쪽 [외부] 조인
오른쪽 [외부] 조인
전체 [외부] 조인
크로스 조인
용내부and외부결합 유형, 조인 조건이 있어야합니다 지정, 즉 정확히천연, onjoin_condition또는사용 ( 사용join_column[, ...]). 보다 의미를 위해 아래. 을 위한크로스 가입하다,이 조항 중 어느 것도 나타나지 않을 수 있습니다.
aJoin절의 결합 2From항목. 괄호를 사용하십시오 중첩 순서를 결정하는 데 필요합니다. 에서 괄호의 부재,Joins 왼쪽에서 오른쪽으로 둥지. 어쨌든Join쉼표보다 더 단단히 바인딩합니다 분리From품목.
크로스 조인및내부 조인간단한 직교를 생산합니다 제품, 두 가지를 나열하여 얻은 것과 동일한 와이즈 토토 최상위 수준의 항목From, 그러나 조인 조건 (있는 경우)에 의해 제한됩니다.크로스 조인내부 조인 on (true), 즉 행이 없습니다 자격으로 제거. 이 결합 유형은 a입니다 그들이 당신을하지 않기 때문에 표기법 편의성 평원으로 할 수 없음Fromand여기서.
왼쪽 외부 조인모든 것을 반환합니다 자격을 갖춘 직교 제품의 행 (즉, 모두 결합 조건을 통과하는 결합 행)와 하나 왼쪽 테이블에있는 각 행의 사본 조인 조건을 통과 한 오른쪽 행이 아닙니다. 이 왼쪽 줄은 오른쪽에 null 값을 삽입하여 테이블에 결합했습니다 열. 만 참고Join조항 자체 조건을 결정하는 동안 고려됩니다 행에는 일치합니다. 외부 조건이 적용됩니다 나중에.
반대로오른쪽 외부 조인결합 된 모든 행을 반환하고 각각 1 행을 반환합니다. 타의 추종을 불허하는 오른쪽 줄 (널에 널으로 확장되었습니다 왼쪽). 이것은 당신이기 때문에 단지 표기법 편의입니다 로 변환 할 수 있습니다.왼쪽 외부 가입하다왼쪽 및 오른쪽 입력을 전환하여.
전체 외부 조인모든 것을 반환합니다 결합 된 행, 타의 추종을 불허하는 각 행 왼쪽 줄 (오른쪽에 널으로 연장), 플러스 타의 추종을 불허하는 각각의 오른쪽 행에 한 줄 (연장 왼쪽의 널).
join_conditionis 유형의 값을 초래하는 표현부울(A와 유사여기서절) 조인은 일치하는 것으로 간주됩니다.
양식의 조항사용 (A, B, ...)속기입니다.on left_table.a = right_table.a 및 left_table.b = right_table.b .... 또한,사용| 각 쌍 중 하나만 암시합니다 동등한 열의 조인지에 포함됩니다 출력, 둘 다가 아닙니다.
천연a의 속기입니다.사용모든 것을 언급하는 목록 이름이 같은 두 테이블의 열.
선택 사항여기서절은 일반 양식
여기서조건
여기서조건유형의 와이즈 토토로 평가하는 표현부울. 이것을 만족시키지 않는 행 출력에서 조건이 제거됩니다. 행이 만족합니다 실제 행 값이있을 때 true가 반환되는 경우 조건 변수 참조로 대체되었습니다.
선택 사항그룹 by절은 일반 양식
그룹 by표현[, ...]
그룹 bya로 응축됩니다 단일 행에 동일한 값을 공유하는 모든 선택된 행 그룹화 된 표현.표현입력 열 이름 또는 이름 또는 서수 번호 일 수 있습니다. 출력 열 (와이즈 토토목록 항목), 또는 입력-열 값으로부터 형성된 임의의 표현. ~ 안에 모호한 사례, a그룹 by이름 will be interpreted as an input-column name rather than an 출력 열 이름.
집계 함수가 사용되는 경우 계산됩니다 각 그룹을 구성하여 별도의 값을 생성합니다. 각 그룹 (그룹 by, 집계는 모든에서 계산 된 단일 값을 생성합니다. 선택된 행). 언제그룹 byis 현재, 그것은에 유효하지 않습니다.와이즈 토토그룹화되지 않은 목록 표현식 집계 함수 내에서 제외한 열 그룹화되지 않은 것으로 반환 할 수있는 하나 이상의 가능한 값 열.
선택 사항절은 일반 양식
조건
여기서조건동일합니다 에 지정된대로여기서조항
그룹 행을 제거합니다 조건을 만족시키지 마십시오.|여기서: 여기서개별 행 앞에서 필터링합니다 의 적용그룹 bywhile필터 그룹 행에 의해 생성 된그룹 by. 참조 된 각 열조건명백하게 참조가 나타나지 않는 한 그룹화 열을 참조하십시오 집계 기능 내에서.
theUnion절은이 장군을 가지고 있습니다 형태:
와이즈 토토_statementUnion [All]와이즈 토토_statement
와이즈 토토_statement와이즈 토토주문 by, LIMIT또는업데이트절. (주문 by및Limitcan 동봉 된 경우 서브 표현에 부착됩니다. 괄호. 괄호가 없으면이 조항이 취해집니다 의 와이즈 토토에 적용하려면Union, 오른쪽 입력 표현이 아닙니다.)
theUnion운영자는 세트를 계산합니다 관련 줄의 노동 조합와이즈 토토진술. 행은 정해진 연합에 있습니다 와이즈 토토 중 하나 이상에 나타나면 두 가지 와이즈 토토 세트 세트. 두와이즈 토토진술 의 직접 피연산자를 나타냅니다.Union동일한 수의 열을 생성해야합니다. 해당 열은 호환 데이터 유형이어야합니다.
와이즈 토토Union그렇지 않습니다 가 아닌 한 중복 행을 포함합니다.all옵션이 지정되었습니다.all중복 제거를 방지합니다.
다중Union같은와이즈 토토명령문이 평가됩니다 괄호로 달리 명시되지 않는 한 왼쪽에서 오른쪽으로.
현재,업데이트그렇지 않을 수 있습니다 A에 대해 지정Union와이즈 토토 또는 A의 입력에 대해Union.
the교차절은 이것을 가지고 있습니다 일반 양식 :
와이즈 토토_statement교차 [all]와이즈 토토_statement
와이즈 토토_statement와이즈 토토주문, Limit또는업데이트절.
the교차운영자는 다음을 계산합니다 관련 줄의 교차점을 설정와이즈 토토진술. 행이 안에 있습니다 두 와이즈 토토 모두에 나타나면 두 와이즈 토토 세트의 교차점 세트.
와이즈 토토교차그렇지 않습니다 가 아닌 한 중복 행을 포함합니다.all옵션이 지정되어 있습니다. 와 함께all, 왼쪽에 m 복제가있는 행 오른쪽 테이블의 테이블 및 n 복제는 최소 (m, n)이 나타납니다. 와이즈 토토 세트의 시간.
다중교차같은와이즈 토토명령문이 평가됩니다 괄호가 달리 지시하지 않는 한 왼쪽에서 오른쪽으로.Intersect|Union. 즉,연합 b 교차 c|연합 (b 교차 c).
the제외절은이 장군이 있습니다 형태:
와이즈 토토_statement[All] 제외와이즈 토토_statement
와이즈 토토_statement와이즈 토토주문 by, Limit또는업데이트절.
the제외운영자는 다음을 계산합니다 왼쪽 와이즈 토토에있는 행 세트와이즈 토토성명서는 그렇지 않습니다 맞습니다.
와이즈 토토제외그렇지 않습니다 가 아닌 한 중복 행을 포함합니다.all옵션이 지정되어 있습니다. 와 함께all, 왼쪽에 m 복제가있는 행 오른쪽 테이블의 테이블 및 n 복제가 나타납니다. 와이즈 토토 세트에서 Max (M-N, 0) 시간.
다중제외같은와이즈 토토명령문이 평가됩니다 괄호가 달리 지시하지 않는 한 왼쪽에서 오른쪽으로.제외와 같은 수준에서 바인딩Union.
the와이즈 토토목록 (키 사이 단어와이즈 토토andFrom) 출력을 형성하는 표현식을 지정합니다 의 줄와이즈 토토진술. 그만큼 표현은 계산 된 열을 참조 할 수 있습니다 (일반적으로 수행) 그만큼From절. 조항 사용asoutput_name, 다른 이름이 될 수 있습니다 출력 열에 대해 지정됩니다. 이 이름은 주로 익숙합니다 디스플레이를 위해 열에 레이블을 지정하십시오. 또한 참조하는 데 사용될 수 있습니다 열의 값주문 byand그룹 by조항이지만어디또는조항; 거기에서 당신은 작성해야합니다 대신 표현.
표현 대신*할 수 있습니다 출력 목록에 모든 열에 대한 속기로 작성 선택된 행의. 또한 글을 쓸 수 있습니다table_name.*AS 그 표에서 나오는 열에 대한 속기.
선택 사항주문 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가 설립되었을 때 데이터베이스 클러스터가 초기화되었습니다.
theLimit절은 두 가지로 구성됩니다 독립적 인 하위 조명 :
Limitcount| 모두시작
count최대 값을 지정합니다 반환 할 행 수, 동안시작행 수를 지정합니다 줄을 반환하기 전에 건너 뜁니다. 둘 다 지정되면시작행이 건너 뜁니다 계산하기 시작count반환 할 행.
사용시Limit, 좋은 생각입니다 사용하려면주문 by조항 와이즈 토토 행을 고유 순서로 제한합니다. 그렇지 않으면 당신 쿼리 행의 예측할 수없는 하위 집합을 얻을 수 있습니다. 10 일에서 20 줄까지 요구하지만 10 번째 20에서 어떤 주문을 통해? 당신은 무엇을 모릅니다 지정하지 않는 한 주문주문 에 의해.
쿼리 플래너가Limit로 쿼리 계획을 생성 할 때 계정이므로 가능성이 높습니다. 다른 계획 (다른 행 주문을 산출)에 따라 얻습니다 당신이 사용하는 것에Limit및오프셋. 따라서 다른 사용Limit/오프셋쿼리 와이즈 토토의 다른 서브 세트를 선택할 값일관성이 없을 것입니다 와이즈 토토예측 가능한 와이즈 토토 순서를 시행하지 않는 한 와 함께주문 by. 이것은 버그가 아닙니다. 그것 SQL이 그렇지 않다는 사실의 고유 한 와이즈 토토입니다. 특정 쿼리 와이즈 토토를 전달할 것을 약속합니다. 주문하지 않는 한 주문주문 by익숙합니다 순서를 제한하십시오.
if별도의지정되어 있습니다 와이즈 토토 세트에서 중복 행이 제거됩니다 (한 행은 유지됩니다. 중복의 각 그룹에서).all반대를 지정합니다 : 모든 행은 유지됩니다. 그것이 기본.
별개의 (표현[, ...])주어진 표현식이있는 각 행 세트의 첫 번째 줄 동등하게 평가하십시오. 그만큼별개의표현식은와 동일한 규칙을 사용하여 해석됩니다.주문 by(위 참조)."First Row"42215_42258주문 by사용됩니다 원하는 행이 먼저 나타나는지 확인합니다. 예를 들어,
(위치) 위치, 시간, 보고서에서 별개의 선택을 선택하십시오 Weather_Reports에서 위치별로 주문, 시간 desc;
각 위치에 대한 최신 날씨 보고서를 검색합니다. 하지만 우리가 사용하지 않았다면주문 byto 각 위치에 대한 내림차순 시간 값을 강제로 각각에 대한 예측할 수없는 시간으로부터 보고서를 받았습니다. 위치.
the별개의표현은해야합니다 가장 왼쪽 일치주문 by표현. 그만큼주문 by절 일반적으로 결정하는 추가 표현식이 포함됩니다 각 내에서 원하는 행의 우선 순위별개의그룹.
the업데이트절은 이것을 가지고 있습니다 형태:
업데이트 [oftable_name[, ...]]
업데이트행을 유발합니다 에 의해 검색와이즈 토토진술 업데이트를 위해 잠겨 있습니다. 이것은 그들을 존재하지 못하게합니다 현재까지 다른 트랜잭션에 의해 수정 또는 삭제되었습니다 트랜잭션이 끝납니다. 즉, 시도하는 다른 거래업데이트, 삭제또는선택 업데이트이 행 중 현재까지 차단됩니다 트랜잭션이 끝납니다. 또한,업데이트, 삭제또는선택 update다른 거래에서 이미 잠겨 a 선택한 행 또는 행,선택을 선택하십시오 업데이트다른 거래가 완료 될 때까지 기다립니다. 그런 다음 업데이트 된 행을 잠그고 반환합니다. 행이 삭제되었습니다). 추가 논의는 참조12 장.
특정 테이블이 이름 지정된 경우업데이트, 그러면 해당 테이블에서 오는 행만이 있습니다 잠긴; 에 사용 된 다른 테이블와이즈 토토평소와 같이 간단히 읽습니다.
업데이트를 사용할 수 없습니다 반환 된 행으로 명확하게 식별 할 수없는 컨텍스트 개별 테이블 행; 예를 들어 사용할 수 없습니다 집합.
업데이트이전에 나타날 수 있습니다Limit와 호환성와이즈 토토이전 버전 7.3. 효과적으로 실행Limit, 그러나 이것이 권장됩니다 그것을 쓸 장소.
테이블에 가입하려면영화테이블유통 업체:
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 | 로맨틱 ...
열을 합산하려면Len45896_45939Kind:
종류, Sum (Len)은 Total from Films Group의 종류로 선택하십시오. 친절 | 총 ----------+------- 행동 | 07:34 코미디 | 02:58 드라마 | 14:28 뮤지컬 | 06:42 낭만적 인 | 04:38
열을 합산하려면Len모든 영화의 와이즈 토토를 그룹Kind5 시간 미만의 그룹 총액 :
Total으로 SOM (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 | 월트 디즈니 기능 분배기 _2 (int) setof record를 'reture'로 반환합니다. 배급 자에서 *를 선택하십시오. '언어 SQL; 배급소에서 *를 선택하십시오 _2 (111) AS (f1 int, f2 text); F1 | F2 -----+---------- 111 | 월트 디즈니
물론와이즈 토토성명서입니다 SQL 표준과 호환됩니다. 그러나 약간의 확장이 있습니다 그리고 일부 누락 된 기능.
와이즈 토토하나를 허용합니다 생략From절. 그것은 있습니다 간단한 와이즈 토토를 계산하기 위해 간단한 사용 표현 :
와이즈 토토 2+2; ?열? --------- 4
다른SQL데이터베이스 더미 한 열 테이블을 소개하는 것 외에는이를 수행 할 수 없습니다. 무엇을 해야하는지와이즈 토토.
덜 분명한 사용은 정상을 약화시키는 것입니다와이즈 토토테이블에서 :
유통 업체를 선택하십시오.* 배급자 .name = '서쪽으로'; | 이름 -----+--------- 108 | 서부 제국
이것은 암시 적이기 때문에 작동합니다From다른 부분에서 참조되는 각 테이블에 대해 항목이 추가됩니다. 의와이즈 토토진술이지만 그렇지 않습니다 언급From.
이것은 편리한 속기이지만 오용하기 쉽습니다. 예를 들어, 명령
유통 업체 선택.* 유통 업체에서 D;
아마 실수 일 것입니다. 아마도 사용자가 의미
d.* 유통 업체에서 d.*를 선택하십시오. d;
제한되지 않은 조인 대신
유통 업체 선택.* 유통 업체 D, 유통 업체 유통 업체;
그가 실제로 얻을 것입니다. 이런 종류의 감지를 돕습니다 실수,와이즈 토토경고 암시 적 인 경우From기능이 사용됩니다 에서와이즈 토토그 진술 명시 적 포함절. 또한 암시 적을 비활성화 할 수 있습니다.From기능을 설정하여 기능add_missing_from거짓으로 매개 변수.
SQL 표준에서 선택적인 키워드as는 소음 일뿐 아니라없이 생략 할 수 있습니다 의미에 영향을 미칩니다. 그만큼와이즈 토토파서에는이 키 단어가 필요합니다 유형 확장 성이므로 출력 열 이름을 바꿀 때 특징은 그것없이 모호성을 구문 분석합니다.as옵션From항목.
SQL92 표준에서 AN주문 by조항은 와이즈 토토 열 이름 또는 숫자 만 사용할 수 있지만 A그룹 by절은 만 사용할 수 있습니다 입력 열 이름을 기반으로 한 표현식.와이즈 토토이 조항을 연장합니다 다른 선택도 허용하기 위해 (그러나 표준을 사용합니다. 모호성이있는 경우 해석).와이즈 토토또한 두 절 모두를 허용합니다 임의 표현식을 지정하십시오. 이름에 표시되는 이름이 나타납니다 표현식은 항상 입력 열 이름으로 간주됩니다. 와이즈 토토 열 이름.
SQL99는 약간 다른 정의를 사용합니다 SQL92와 완전히 호환됩니다. 그러나 대부분의 경우와이즈 토토해석주문 by또는그룹 에 의해SQL99와 같은 방식과 같은 표현.