이전 섹션에 표시된 대로,선택명령은 다음을 구성합니다. 테이블, 뷰, 행 제거, 그룹화 등. 이 테이블이 최종적으로 전달됩니다. 다음 처리를 위해목록 선택. 는 선택 목록이 무엇을 결정하는지를 결정합니다.열중간 테이블의 실제로 출력됩니다.
가장 간단한 종류의 선택 목록은*테이블이 생성하는 모든 열을 내보냅니다. 표현이 생산됩니다. 그렇지 않으면 선택 목록은 쉼표로 구분된 값 표현식 목록(에 정의됨)PostgreSQL : 문서 : 7.3 : 값 토토 베이식). 예를 들어, 열 이름 토토 꽁 머니일 수 있습니다.
다음에서 a, b, c 선택 ...
열 이름a, b및c다음 중 하나입니다. 에서 참조된 테이블 열의 실제 이름발신절 또는 다음에 제공된 별칭 에 설명된 대로섹션 4.2.1.2. 선택 목록에서 사용할 수 있는 네임스페이스는 와 동일어디절, 그렇지 않은 경우 그룹화를 사용하는데, 이 경우는가지고 있는 중절.
둘 이상의 테이블에 동일한 이름의 열이 있는 경우, 다음과 같이 테이블 이름도 지정해야 합니다.
다음에서 tbl1.a, tbl2.b, tbl1.c 선택 ...
(또한 참조섹션 4.2.2.)
선택 목록에서 임의의 값 표현식이 사용되는 경우, 개념적으로 반환된 열에 새 가상 열을 추가합니다. 테이블. 값 표현식은 각각에 대해 한 번씩 평가됩니다. 임의의 열을 대체하는 행의 값을 사용하여 검색된 행 참조. 하지만 선택 목록의 표현식에는 의 테이블 표현식에 있는 모든 열을 참조하려면발신절; 그들은 일정할 수 있다 예를 들어 산술 표현식도 마찬가지입니다.
선택 목록의 항목에는 다음에 대한 이름이 할당될 수 있습니다. 추가 처리."더 나아가 처리 중"이 경우에는 선택적 정렬입니다. 사양 및 클라이언트 애플리케이션(예: 열 헤더 디스플레이용). 예를 들면:
AS 값 선택, b + c AS 합계 FROM ...
AS를 통해 출력 열 이름이 지정되지 않은 경우 시스템은 기본 이름을 할당합니다. 간단한 열 참조의 경우 다음과 같습니다. 참조된 열의 이름입니다. 함수 호출의 경우 이는 다음과 같습니다. 함수의 이름. 복잡한 표현의 경우 시스템은 일반 이름을 생성합니다.
참고:여기서 출력 열의 이름은 다음과 같습니다. 에서 수행된 것과는 다릅니다.발신절(참조섹션 4.2.1.2). 이 파이프라인을 사용하면 실제로 다음을 수행할 수 있습니다. 동일한 열의 이름을 두 번 바꾸지만 선택 목록은 전달될 목록입니다.
선택 목록이 처리된 후 결과 테이블은 선택적으로 중복 항목이 제거될 수 있습니다.독특키워드가 직접 작성됨 이후에선택이 기능을 활성화하려면:
특정 선택select_list ...
(대신에독특말씀전체기본값을 선택하는 데 사용할 수 있습니다. 모든 행을 유지하는 동작입니다.)
분명히 두 행이 다른 경우 서로 다른 행으로 간주됩니다. 하나 이상의 열 값에. Null 값은 동일한 것으로 간주됩니다. 이 비교에서는.
또는 임의의 표현으로 무엇을 결정할 수 있습니다. 행은 별개로 간주됩니다.
선택할 구별 항목: (표현 [, 표현 ...]) select_list ...
여기표현은 모든 행에 대해 평가되는 임의 값 표현식입니다. 에이 모든 표현식이 동일한 행 집합은 다음과 같습니다. 중복으로 간주되며 세트의 첫 번째 행만 출력에 보관됩니다. 참고하세요"먼저 행"세트의 쿼리는 쿼리가 아닌 이상 예측할 수 없습니다. 고유한 순서를 보장하기에 충분한 열을 기준으로 정렬되었습니다. 에 도착하는 행독특필터. (구별 ON다음 이후에 처리가 발생함주문 기준정렬 중입니다.)
그뚜렷이 켜짐절이 일부가 아닙니다 SQL 표준에 속하며 때로는 나쁜 스타일로 간주됩니다. 결과가 불확실할 가능성이 있기 때문입니다. 신중하게 사용하여그룹별그리고 하위 선택발신구조는 다음과 같습니다. 피해야 하지만 가장 편리한 경우가 많습니다. 대안.