要在同一语句中执行多个SQL查询,可以使用BigQuery的分号(;)来分隔每个查询。以下是一个示例代码:
from google.cloud import bigquery
client = bigquery.Client()
# 定义多个SQL查询
query1 = """
SELECT *
FROM `project.dataset.table1`
"""
query2 = """
SELECT *
FROM `project.dataset.table2`
"""
query3 = """
SELECT *
FROM `project.dataset.table3`
"""
# 将多个查询连接在一起
query = f"{query1};{query2};{query3}"
# 执行多个查询
result = client.query(query)
# 处理查询结果
for row in result:
print(row)
在上面的示例中,我们首先导入bigquery
模块并创建了一个BigQuery的客户端。然后,我们定义了多个查询,每个查询都用三个引号括起来以便跨多行定义查询字符串。接下来,我们使用分号将这些查询字符串连接在一起,并将其赋值给一个变量query
。
最后,我们使用客户端的query()
方法来执行这个查询,并通过一个循环遍历查询结果。在这个示例中,我们只是简单地打印查询结果,你可以根据自己的需求进行进一步处理。