0

SQLクエリをpythonコードで表現しようとしているのですが、 limit 関数の表現に困っています

PythonでSQLテーブルを次のように表します

[{'col1':val, 'col2':val,...},...]

次の SQL 式

SELECT x.val, y.val
FROM R x, S y
WHERE x.id = y.id

pythonでは次のように表現されます

for x in R:
   for y in S:
      if x["id"] == y["id"]:
         x["val"], y["val"]

出力を10行に制限したい場合は、次のように書くことができます

i = 0
for x in R:
   for y in S:
      if x["id"] == y["id"]:
         x["val"], y["val"]
         i += 1
         if i == 10:
             break
   if i == 10:
       break   

Python で limit 関数を表現する私の方法は面倒で、あまりエレガントではないので、誰かがこれをよりエレガントな方法で表現するのを手伝ってくれることを望んでいました.

4

1 に答える 1