我有两个表,一个有这样的单个条目:
'rs47' 1027
另一个有范围:
'gene1' 1000 1500
这些表是 huge ,所以我试图找出最有效的方法来获取表1中条目在表2中任何范围内的所有条目。
我认为INTERSECT不能像这样使用。我知道如何使用SELECT为单个条目执行此操作:
SELECT name FROM 'table2' INDEXED BY 'start_end' WHERE 1027 BETWEEN start AND end
但我不确定如何为表中的每个记录执行此操作。有什么想法吗?
答案 0 :(得分:0)
要检查另一个表中是否存在相应的行,您可以使用correlated subquery:
SELECT *
FROM Table1
WHERE EXISTS (SELECT 1
FROM Table2
WHERE Table1.Value BETWEEN Table2.StartValue AND Table2.EndValue);