- 카테고리:
VALUES¶
SELECT 문에서 FROM 절의 VALUES 하위 절은 유한한 행 세트를 형성하는 데 사용할 상수 세트를 지정하도록 해줍니다.
(INSERT
문의 VALUES
절에 대한 자세한 내용은 INSERT 문의 설명서를 참조하십시오.)
구문¶
SELECT ...
FROM ( VALUES ( <expr> [ , <expr> [ , ... ] ] ) [ , ( ... ) ] ) [ [ AS ] <table_alias> [ ( <column_alias> [, ... ] ) ] ]
[ ... ]
table_alias
행 세트가 테이블인 것처럼 선택적 별칭을 사용하여 행 세트에 이름을 지정할 수 있습니다.
column_alias
선택적 열 별칭을 사용하여 열 이름을 지정할 수 있습니다.
expr
각 식은 상수이거나, SQL 문을 컴파일하는 동안 상수로 평가할 수 있는 식이어야 합니다.
대부분의 간단한 산술 식 및 문자열 함수는 컴파일 시간에 평가할 수 있지만, 대부분의 다른 식은 평가할 수 없습니다.
사용법 노트¶
예¶
VALUES 절은 고정된, 알려진 행 세트를 생성하는 데 유용합니다.
SELECT * FROM (VALUES (1, 'one'), (2, 'two'), (3, 'three')); +---------+---------+ | COLUMN1 | COLUMN2 | |---------+---------| | 1 | one | | 2 | two | | 3 | three | +---------+---------+ SELECT column1, $2 FROM (VALUES (1, 'one'), (2, 'two'), (3, 'three')); +---------+-------+ | COLUMN1 | $2 | |---------+-------| | 1 | one | | 2 | two | | 3 | three | +---------+-------+값은 열 “이름”(암시적) 또는 열 위치로 참조될 수 있습니다.
쿼리가 여러 VALUES 절을 사용하는 경우, 절을 구분하는 데 별칭을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
SELECT v1.$2, v2.$2 FROM (VALUES (1, 'one'), (2, 'two')) AS v1 INNER JOIN (VALUES (1, 'One'), (3, 'three')) AS v2 WHERE v2.$1 = v1.$1;
열 이름에 대한 별칭을 지정할 수도 있습니다.
SELECT c1, c2 FROM (VALUES (1, 'one'), (2, 'two')) AS v1 (c1, c2);