Python&;Sqlite3-子集一个表,然后连接到另外两个表

Python&;Sqlite3-子集一个表,然后连接到另外两个表,python,sqlite,Python,Sqlite,我正在使用python和sqlite3。我有三张桌子: 表1: 科拉 表2: A栏| B栏 表3: B列 我想要表1中的前500k行和表2中具有表3中匹配行的任何匹配行。我该怎么做?我是这么想的 conn = sqlite3.connect('database.sqlite') conn.execute('SELECT * FROM Table1 LIMIT 500000 AS sample LEFT JOIN Table2 ON sample.A = Ta

我正在使用python和sqlite3。我有三张桌子:

表1: 科拉

表2: A栏| B栏

表3: B列

我想要表1中的前500k行和表2中具有表3中匹配行的任何匹配行。我该怎么做?我是这么想的

conn = sqlite3.connect('database.sqlite')

      conn.execute('SELECT * FROM Table1 LIMIT 500000 AS sample
      LEFT JOIN Table2
      ON sample.A = Table2.A
      LEFT JOIN Table3 ON table2.B = Table3.B')
但是我得到了这个错误:
OperationalError:near“AS”:语法错误

结果应该是500k行,所有列都可以在所有3个表中找到。
如果我的任何措辞难以理解,请道歉

正如@furas所说,
限制必须在完整语句的末尾

您实际上想要做的很可能是一个子查询,如:

SELECT * FROM (SELECT * FROM Table1 LIMIT 500000) AS sample
  LEFT JOIN Table2
  ON sample.A = Table2.A
  LEFT JOIN Table3 ON table2.B = Table3.B

你是对的,先这样做,然后看看结果。在我看来,左联也必须起作用。但是,请确保您有公共字段或属性来进行比较并进行联接。您的尝试有什么错误或不希望的结果?这是我得到的:OperationalError:near“AS”:语法错误
限制必须在末尾。或者您必须在
()
内创建子查询。