Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

테이블 함수

테이블 함수는 테이블을 생성하는 방법입니다.

사용법

테이블 함수는 SELECT 쿼리의 FROM 절에서 사용할 수 있습니다. 예를 들어, file 테이블 함수를 사용하면 로컬 머신의 파일에서 데이터를 SELECT할 수 있습니다.

Querybash
echo "1, 2, 3" > example.csv
Responsetext
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘

현재 쿼리에서만 사용 가능한 임시 테이블을 생성할 때도 테이블 함수를 사용할 수 있습니다. 예시:

Querysql
SELECT * FROM generateSeries(1,5);
Responseresponse
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘

테이블은 쿼리가 종료되면 삭제됩니다.

테이블 함수는 다음 구문을 사용해 테이블을 생성하는 데 사용할 수 있습니다:

Querysql
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()

예시:

Querysql
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
Responseresponse
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘

마지막으로, 테이블 함수를 사용해 테이블에 데이터를 INSERT할 수 있습니다. 예를 들어, 이전 예시에서 생성한 테이블의 내용을 다시 file 테이블 함수를 사용해 디스크의 파일에 기록할 수 있습니다:

Querysql
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
Querybash
cat numbers.csv
1
2
3
4
5
Navigation