테이블 함수(SQL UDTF 제외): 측면 테이블 함수 및 외부 측면 조인 사용 시의 제한 사항¶
현재 릴리스에서는 다음이 더 이상 허용되지 않습니다.
ON 절로 지정된 측면 테이블 함수(SQL UDTF 제외).
ON 절을 지정하는 테이블 함수(SQL UDTF 제외)에 대한 외부 측면 조인.
이 제한 사항은 ON 절(USING 절 및 NATURAL JOIN)에 해당하는 절을 사용하는 문에도 적용됩니다.
SQL UDTF 이외의 테이블 함수는 기본 제공 테이블 함수와 SQL 이외의 언어로 정의된 UDTF를 포함합니다.
- 이전:
다음을 지정할 수 있습니다.
측면 테이블 함수(SQL UDTF 제외)의 ON 절(또는 USING 절 또는 NATURAL JOIN).
예:
SELECT ... FROM my_table JOIN TABLE(FLATTEN(input=>[col_a])) ON ... ; SELECT ... FROM my_table INNER JOIN TABLE(FLATTEN(input=>[col_a])) ON ... ; SELECT ... FROM my_table JOIN TABLE(my_js_udtf(col_a)) ON ...; SELECT ... FROM my_table INNER JOIN TABLE(my_js_udtf(col_a)) ON ... ;
ON 절(또는 USING 절 또는 NATURAL JOIN)을 사용하여 테이블 함수(SQL UDTF 제외)에 대한 외부 측면 조인.
예:
SELECT ... FROM my_table LEFT JOIN TABLE(FLATTEN(input=>[col_a])) ON ... ; SELECT ... FROM my_table FULL JOIN TABLE(FLATTEN(input=>[col_a])) ON ... ; SELECT ... FROM my_table LEFT JOIN TABLE(my_js_udtf(col_a)) ON ... ; SELECT ... FROM my_table FULL JOIN TABLE(my_js_udtf(col_a)) ON ... ;
- 현재:
위의 문을 실행하면 다음 메시지와 함께 오류가 발생합니다.
000002 (0A000): Unsupported feature 'lateral table function called with OUTER JOIN syntax or a join predicate (ON clause)'
쉼표를 사용하여 조인을 지정하면 이 제한 사항이 적용되지 않습니다.
SELECT ... FROM <table>,
TABLE(<ptable_function_other_than_sql_udtf>) ... ;
예:
SELECT ... FROM my_table,
TABLE(FLATTEN(input=>[col_a]));
이 제한 사항은 ON 절(또는 USING 절 또는 NATURAL JOIN)이 지정되지 않은 경우에도 적용되지 않습니다.
SELECT ... FROM <table>
[{ [ INNER | { LEFT | RIGHT | FULL } [ OUTER ] | CROSS } JOIN
TABLE(<table_function_other_than_sql_udtf>) ...;
예:
SELECT ... FROM my_table
FULL JOIN TABLE(FLATTEN(input=>[col_a]));
SELECT ... FROM my_table
LEFT JOIN OUTER TABLE(FLATTEN(input=>[col_a]));
이러한 유형의 쿼리로 인해 일관성 없는 동작이 발생할 수 있으므로 이 제한 사항을 추가했습니다. 이러한 유형의 쿼리는 지원되지 않습니다.
참조: 1057