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