查询sql炼金术中的连接并避免全部选中

时间:2017-07-24 21:21:33

标签: python python-2.7 sqlalchemy

我想知道有没有办法合并连接两个表,并且仅使用相关列检索这两个实体。

我想避免在连接两个表并且只从表A中获取列 <fieldMap ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/fieldMap"> 并从表B中获取列id之后执行select *这样的事情。 使用python2.7 我听说过名为address的sqlalchemy功能,但不知道如何将它与这种联接混合在一起,让我们从sqlalchemy tutorial处理这个例子:

with_entities

1 个答案:

答案 0 :(得分:3)

查看Query.join()

id, address  = session.query(A.id, B.address).\
             join(B, B.user_id == A.id).\ 
             filter(A.email_address=='jack@google.com').\
             first()

这可以使用joinouterjoin来完成,具体取决于案例联接可以是隐式还是显式。 .join第二个参数是显式连接语句。