sqlite3:将两个表相交,其中一个值位于另两个值之间
我有两个表,其中一个表有如下单个条目:sqlite3:将两个表相交,其中一个值位于另两个值之间,sqlite,Sqlite,我有两个表,其中一个表有如下单个条目: 'rs47' 1027 另一个范围是: 'gene1' 1000 1500 这些表非常庞大,因此我试图找出从表1中获取所有条目的最有效方法,其中条目在表2中的任何范围内 我不认为INTERSECT可以这样使用。我知道如何使用SELECT为单个条目执行此操作: SELECT name FROM 'table2' INDEXED BY 'start_end' WHERE 1027 BETWEEN start AND end 但我不知道如何对表中的每一条记
'rs47' 1027
另一个范围是:
'gene1' 1000 1500
这些表非常庞大,因此我试图找出从表1中获取所有条目的最有效方法,其中条目在表2中的任何范围内
我不认为INTERSECT可以这样使用。我知道如何使用SELECT为单个条目执行此操作:
SELECT name FROM 'table2' INDEXED BY 'start_end' WHERE 1027 BETWEEN start AND end
但我不知道如何对表中的每一条记录执行该操作。有什么想法吗?要检查另一个表中是否存在相应的行,可以使用:
“单个条目”是指“整行”还是“一列中的值”?@CL它是指一列中的值。我想将一列中的单个位置与另一个表中的一系列位置进行比较。昨晚,我使用python迭代了所有2亿行,并将它们与字典或范围进行了比较。不出所料,它运行了大约12个小时。我觉得使用sqlite应该更快。
SELECT *
FROM Table1
WHERE EXISTS (SELECT 1
FROM Table2
WHERE Table1.Value BETWEEN Table2.StartValue AND Table2.EndValue);