我有一个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模块生成这个巨大的查询,但我想知道是否有更优雅的方式。
由于
答案 0 :(得分:3)
Sqlite应该支持NATURAL JOIN
,它由所有人加入"匹配"默认情况下列。
SELECT
t1.*
FROM t1
NATURAL JOIN t2
答案 1 :(得分:2)
在compound SELECT中,比较子查询中的所有列:
SELECT * FROM t1
INTERSECT
SELECT * FROM t2;