2009-05-20 5 views
12

SQLAlchemy에서 사용되는 "SQL 표현 언어"에서 아래와 같은 쿼리를 표현할 수 있습니까?SQLAlchemy에서 사용되는 "SQL 표현 언어"에 IN 연산자가 지원됩니까?

SELECT * FROM foo WHERE foo.bar IN (1,2,3)

일반 텍스트로 WHERE 절을 쓰지 않으려합니다. 아래에 나와있는 예제와 비슷하거나 일반 텍스트를 사용하지 않는 방식으로 표현하는 방법이 있습니까?

select([foo], in(foo.c.bar, [1, 2, 3]))
select([foo]).in(foo.c.bar, [1, 2, 3])

답변

19
select([foo], foo.c.bar.in_([1, 2, 3])) 

당신은 열 또는 계장 속성으로 .in_() 방법을 사용할 수 있습니다. 둘 다 작동합니다.

It is mentioned here SQLAlchemy의 첫 번째 자습서에 있습니다.

+0

감사합니다. 예에서 오타가 _in은 in_ 여야합니다. – Mathias

+0

@Mathias : 감사합니다. – nosklo

+1

두 링크가 모두 종료되었습니다. – suzanshakya