이전 섹션에 표시된 것처럼,롤 토토명령은 테이블, 뷰 결합, 행 제거, 그룹화 등을 통해 중간 가상 테이블을 구성합니다. 이 테이블은 최종적으로 다음 처리에 전달됩니다.목록 롤 토토. 롤 토토 목록에 따라 다음이 결정됩니다.열중간 테이블의 내용이 실제로 출력됩니다.
가장 간단한 종류의 롤 토토 목록은*테이블 표현식이 생성하는 모든 열을 내보냅니다. 그렇지 않은 경우 롤 토토 목록은 쉼표로 구분된 값 표현식 목록입니다(에 정의된 대로).PostgreSQL : 문서 : 10 : 4.2. 가치 와이즈 토토). 예를 들어 열 이름 목록일 수 있습니다.
다음에서 a, b, c 롤 토토 ...
열 이름a, b및c는 다음에서 참조된 테이블 열의 실제 이름입니다.발신절 또는 다음에 설명된 대로 해당 절에 제공된 별칭섹션 7.2.1.2. 롤 토토 목록에서 사용할 수 있는 이름 공간은어디절, 그룹화를 사용하지 않는 한, 이 경우에는하빙절.
두 개 이상의 테이블에 동일한 이름의 열이 있는 경우 다음과 같이 테이블 이름도 제공해야 합니다.
에서 tbl1.a, tbl2.a, tbl1.b 롤 토토 ...
여러 테이블로 작업할 때 특정 테이블의 모든 열을 요청하는 것도 유용할 수 있습니다:
tbl1.*, tbl2.a FROM ...을 롤 토토하세요.
참조섹션 8.16.5에 대한 자세한 내용은테이블_이름.*표기법.
임의의 값 표현식이 롤 토토 목록에 사용되면 개념적으로 반환된 테이블에 새 가상 열을 추가합니다. 값 표현식은 각 결과 행에 대해 한 번씩 평가되며 행의 값은 열 참조로 대체됩니다. 그러나 롤 토토 목록의 표현식은 테이블 표현식의 열을 참조할 필요가 없습니다.발신절; 예를 들어 상수 산술 표현식이 될 수 있습니다.
롤 토토 목록의 항목은 다음 처리를 위해 이름이 할당될 수 있습니다(예:주문 기준절 또는 클라이언트 애플리케이션에 의해 표시됩니다. 예를 들어:
AS 값 롤 토토, b + c AS 합계 FROM ...
다음을 사용하여 출력 열 이름이 지정되지 않은 경우AS, 시스템은 기본 열 이름을 할당합니다. 단순 열 참조의 경우 참조되는 열의 이름입니다. 함수 호출의 경우 이는 함수의 이름입니다. 복잡한 표현식의 경우 시스템에서 일반 이름을 생성합니다.
그AS키워드는 롤 토토사항이지만 새 열 이름이 일치하지 않는 경우에만 해당포스트그레SQL키워드(참조토토 꽁 머니 PostgreSQL : 문서 : 10 : 부록 C. SQL 키어). 실수로 키워드와 일치하는 것을 방지하려면 열 이름을 큰따옴표로 묶을 수 있습니다. 예를 들어,값키워드이므로 작동하지 않습니다.
값 롤 토토, b + c AS sum FROM ...
그러나 이것은 다음과 같습니다:
"값" 롤 토토, b + c AS sum FROM ...
향후 키워드 추가 가능성을 방지하려면 항상 다음 중 하나를 작성하는 것이 좋습니다.AS또는 출력 열 이름을 큰따옴표로 묶으십시오.
여기서 출력 열의 이름은 다음과 다릅니다.발신절(참조섹션 7.2.1.2). 동일한 열의 이름을 두 번 바꾸는 것은 가능하지만 롤 토토 목록에 할당된 이름이 전달됩니다.
독특롤 토토 목록이 처리된 후 결과 테이블은 롤 토토적으로 중복 행을 제거할 수 있습니다. 그만큼독특키워드는 바로 뒤에 작성됩니다.롤 토토다음을 지정하려면:
특정 롤 토토select_list ...
(대신에독특핵심 단어전체모든 행을 유지하는 기본 동작을 지정하는 데 사용할 수 있습니다.)
분명히 두 행은 적어도 하나의 열 값이 다른 경우 서로 다른 것으로 간주됩니다. 이 비교에서는 Null 값이 동일한 것으로 간주됩니다.
또는 임의의 표현식을 사용하여 고유한 것으로 간주할 행을 결정할 수 있습니다.
다음으로 구별 롤 토토(표현[,표현...])select_list...
여기표현은 모든 행에 대해 평가되는 임의의 값 표현식입니다. 모든 식이 동일한 행 집합은 중복으로 간주되며 집합의 첫 번째 행만 출력에 유지됩니다. 참고하세요“첫 번째 행”에 도착하는 행의 고유한 순서를 보장할 만큼 충분한 열을 기준으로 쿼리가 정렬되지 않으면 집합의 집합을 예측할 수 없습니다.독특필터. (뚜렷이 켜짐다음 이후에 처리 발생주문 기준정렬 중입니다.)
그뚜렷이 켜짐절은 SQL 표준의 일부가 아니며 잠재적으로 불확실한 결과 특성으로 인해 잘못된 스타일로 간주되는 경우가 있습니다. 신중하게 사용하여그룹별및 하위 쿼리발신, 이 구성은 피할 수 있지만 종종 가장 편리한 대안입니다.