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