이전 섹션에서 볼 수 있듯이의 테이블 표현식.select명령 구성 an 테이블, 뷰를 결합하여 중간 가상 테이블 행, 그룹화 등을 제거합니다.이 테이블은 마침내 전달됩니다. 의 처리에목록 선택. 그만큼 선택 목록 선택열10918_10969
가장 간단한 선택 목록은입니다.*테이블의 모든 열을 방출합니다 표현이 생성됩니다. 그렇지 않으면 선택 목록은 a입니다 쉼표로 구분 된 값 표현 목록 (정의 된대로PostgreSQL : 문서 : 7.3 : 값 토토 베이식). 예를 들어, 열 이름 목록 일 수 있습니다.
a, b, c에서 ...
열 이름a, B및C에 참조 된 테이블 열의 실제 이름From조항 또는 주어진 별칭 그것들은 설명 된대로섹션 4.2.1.2. 선택 목록에서 사용 가능한 이름 공간은 다음과 같습니다. 에서와 동일여기서조항 그룹화가 사용되며,이 경우와 동일합니다.절.
하나 이상의 테이블이 같은 이름의 열이 있으면 와 같이 테이블 이름도 제공되어야합니다.
TBL1.A, TBL2.B, TBL1.C에서 선택한 ...
(참조섹션 4.2.2.)
선택 목록에 임의의 값 표현이 사용되는 경우 개념적으로 리턴에 새 가상 열을 추가합니다. 테이블. 값 표현은 각각에 대해 한 번 평가됩니다 행의 값이 모든 열에 대체 된 검색 된 행 참조. 그러나 선택 목록의 표현에는 테이블 표현식의 모든 열을 참조하려면From절; 그들은 일정 할 수 있습니다 예를 들어 산술 표현도 있습니다.
선택 목록의 항목은 이름을 지정할 수 있습니다. 추가 처리. 그만큼"더 처리 "이 경우 선택 사항입니다 사양 및 클라이언트 응용 프로그램 (예 : 열 헤더 디스플레이). 예를 들어:
a as 값, b + c에서 sum from에서 a를 선택하십시오 ...
출력 열 이름이 없으면 시스템을 통해 지정됩니다. 기본 이름을 할당합니다. 간단한 열 참조의 경우 이것이입니다 참조 열의 이름. 기능 호출의 경우 이것이입니다 함수의 이름. 복잡한 표현의 경우 시스템 일반 이름을 생성합니다.
참고 :출력 열의 이름은 여기에 있습니다 에서 수행 된 것과는 다릅니다.From절 (참조섹션 4.2.1.2). 이 파이프 라인은 실제로 당신을 허용합니다 동일한 열의 이름을 두 번 바꾸지 만 이름이 선택 목록은 전달 될 목록입니다.
선택 목록이 처리 된 후 결과 테이블이 선택적으로 복제물 제거를받을 수 있습니다. 그만큼별도의키워드는 직접 작성됩니다 이후select이것을 활성화하려면 :
별도의 선택select_list ...
(대신별도의단어all기본값을 선택하는 데 사용할 수 있습니다 모든 행을 유지하는 행동.)
분명히, 두 개의 행이 다른 경우 뚜렷한 것으로 간주됩니다 하나 이상의 열 값으로. 널 값은 동일하게 간주됩니다 이 비교에서.
또는 대안 적으로, 임의의 표현은 무엇을 결정할 수 있습니다 행은 뚜렷한 것으로 간주됩니다 :
별개의 선택 (표현[, 표현 ...])select_list ...
여기표현is 모든 행에 대해 평가되는 임의의 값 표현. 에이 모든 표현이 동일하는 행 세트 복제물로 간주되고 세트의 첫 번째 행만 출력을 유지했습니다."먼저 열"of a set is unpredictable unless the query is sorted on enough columns to guarantee a unique ordering of the rows arriving at the별도의필터. (별개의처리 후에 처리주문정렬.)
the별개의절은 일부가 아닙니다 SQL 표준의 경우 때로는 나쁜 스타일로 간주됩니다. 결과의 잠재적으로 불확실한 특성 때문에. 신중한 사용그룹 by및 하위 선택 사항From구성은 할 수 있습니다 피해야하지만 종종 가장 편리합니다 대안.