使用sqlalchemy在where子句中使用多列进行查询

前端之家收集整理的这篇文章主要介绍了使用sqlalchemy在where子句中使用多列进行查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在寻找使用sqlalchemy执行此查询.

SELECT name,age,favorite_color,favorite_food
FROM kindergarten_classroom
WHERE (favorite_color,favorite_food) IN (('lavender','lentil soup'),('black','carrot juice'));

我只想要喜欢(薰衣草和扁豆汤)或黑(胡萝卜汁)的孩子.此外,这可能是一个最喜欢的颜色和食物的大量列表(可能> 10K),所以我想要大批量做这些.

这是类似的,但不会让我一路走到那里:
Sqlalchemy in clause

最佳答案
你想要tuple_结构:

session.query(...).filter(
    tuple_(favorite_color,favorite_food).in_(
        [('lavender','carrot juice')]
    )
)

猜你在找的MySQL相关文章