一、什么是联合查询
联合查询(Union)用于合并两个或多个表 SELECT 语句的结果集,通常在同一个表,因为表太大被分表了,但是要联合来查询的情况。
在标准SQL中,联合查询每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。每个 SELECT 语句中的列的顺序必须相同。以下两表:
things1表
id | name1 | owner |
1 | printer | allen |
2 | chair | allen |
3 | scanner | richard |
4 | desk |
|
5 | keyboard | fiona |
things2表
id | name2 | vendor |
1 | pen | vendor1 |
2 | cup | vendor2 |
标准SQL这样来联合查询:
SELECT name1, owner FROM things1
WHERE owner ='allen'
UNION
SELECT name2, vendor FROM things2
二、pyDAL的联合查询
pyDAL 不支持UNION,但是基于Python灵活的数据处理能力,我们可以两次查询后
再手工手工拼接个数据集,也可以生成个中间表。