sqlite3内连接比较所有列

时间:2015-08-07 08:46:53

标签: sqlite inner-join

我有一个sqlite数据库,其中包含两个具有相同模式的表t1,t2。这些表包含多个列c1,c2,..,cn(超过50)。 我试图找到两个表中存在和相同的entires。 我遇到的问题是一次比较所有列。显然,我不想明确地比较每一列。两个表的示例:

SELECT t1.*
FROM t1
INNER JOIN t2
ON t1.c1 = t2.c1
AND t1.c2 = t2.c2
...
AND t1.cn = t2.cn

我可以使用python的sqlite3模块生成这个巨大的查询,但我想知道是否有更优雅的方式。

由于

2 个答案:

答案 0 :(得分:3)

Sqlite应该支持NATURAL JOIN,它由所有人加入"匹配"默认情况下列。

SELECT
t1.*
FROM t1
NATURAL JOIN t2

答案 1 :(得分:2)

compound SELECT中,比较子查询中的所有列:

SELECT * FROM t1
INTERSECT
SELECT * FROM t2;