본문 바로가기
분석/데이터분석

[BigQuery] 빅쿼리에서 values 절을 구현해보자.

by 여우요원 2023. 2. 20.

MySQL, PostgresSQL 등에서는 Values 절을 이용하여 아래와 같이 외부 text를 테이블 처럼 사용할 수 있다.

with 
list (id, name) as (
	values 
	(1004007, '홍길동'), 
	(1002147, '장동건'), 
	(1004493, '현빈'), 
	(1007978, '이서진'), 
	(1005218, '원빈'), 
	(1005507, '이병헌')
    ) 
 select id
 	, name 
 from list

MySQL 에서는 구문이 살짝 다르긴 하다. 요렇게 `ROW` 라는 키워드를 붙여줘야 한다.

values 
	ROW (1004007, '홍길동'),

 

하지만 BigQuery에서는 Values 를 위처럼 사용할 수는 없다.

그래서 아래와 같이 사용해야 한다.

 

(1) 컬럼이 하나인 경우

select service_rowid 
from unnest(
[1171,920,499,1170,1381,757,1172,887,722,967,943]
) service_rowid

(2) 컬럼이 두개 이상인 경우

SELECT * 
FROM UNNEST(
	[STRUCT <name STRING, age INT64>
    ('david',10), ('tom', 20), ('jon', 30)
  ]
 )