如何使用SQLAlchemy交叉两个原始SQL查询?

时间:2016-02-09 22:26:26

标签: python postgresql sqlalchemy

我有两个原始的Postgresql语句。

q1 = "SELECT name FROM table_a"
q2 = "SELECT name FROM table_b"

如何使用SQLAlchemy查询它们的交集。

1 个答案:

答案 0 :(得分:1)

这或多或少是你能做的:

from sqlalchemy import create_engine, text
engine = create_engine('postgresql://user:password@localhost/somedb')
q1 = "SELECT name FROM table_a intersect SELECT name FROM table_b"
q1res = engine.execute(text(q1)).fetchall()
# or
q2res = engine.execute(text(q1)).fetchone()

根据您的需要而定。如果您打算进行插入或更新,请选择fetchonefetchall