在 BigQuery 中,表函数是一种特殊的函数,它采用一个或多个 BigQuery 表作为参数,并在表级别上运行 SQL 查询。表函数可用于在不同的 BigQuery 数据集之间共享数据,并允许更轻松地引用数据。在 BigQuery 中,表函数参数可以是表、列或常量。
例如,下面的示例为 BigQuery 表函数提供了一个带有表参数的 SQL 查询:
CREATE TEMPORARY FUNCTION join_with_customers(items ARRAY>, customers_table ANY TYPE)
RETURNS ARRAY>
AS (
SELECT item_id, customer_name
FROM UNNEST(items) item
JOIN customers_table customer
ON item.customer_id = customer.customer_id
);
SELECT join_with_customers([(1, 100), (2, 101), (3, 102)], my_dataset.customers) items
在上面的查询中,join_with_customers
函数接受一个数组作为输入,并将其转换为一个包含每个项和该项的客户姓名的新数组。对于 join_with_customers
函数所需的第二个参数,我们指定了一个 BigQuery 表。