2013-10-10 55 views
0

我想從表中選擇其中一列的值等於列表的值的表中選擇。例如:Python sqlite3內部聯接與python列表

TABLE 
------------ 
ID price 
a  100 
b  200 
... 
z  2600 

python list:[「a」,「d」,「e」]。我想找到每個ID的價格。這樣做的顯而易見的方法是在ID上進行JOIN,但該列表不是表格。我該怎麼辦?

+1

你並不需要爲這個聯接。請參閱:http://stackoverflow.com/questions/283645/python-list-in-sql-query-as-parameter –

+0

說,表和列表都很大。一個字符串加入WHERE子句會非常低效 – WindowsMaker

回答

2

您可以將列表寫入臨時表,然後加入。 要使連接更高效,請確保至少有一個連接列(最好是較小表的連接列)被編入索引。

但是,如果列表不是太長,你可以簡單地使用IN operator

SELECT * 
FROM MyTable 
WHERE ID IN ('a', 'd', 'e') 
+0

嗯那就是我害怕的:(謝謝! – WindowsMaker