这是我遇到的一种非常常见的情况,我想知道是否有一种简单的方法可以用SQL解决 -
我有一张包含2,000条记录的表格:
UNIVERSITY
id, name
所以,例如:
1, UConn
2, Eastern
3, Western
4, Southern
然后有人给我一张Excel表格,里面有一些大学名字:
Eastern
Western
UMass
MIT
我需要找出SQL表格中存在 的大学名称。即从Excel表格中筛选出表格中的大学。例如:
UMass
MIT
如果我这样做了:
SELECT * FROM university WHERE name IN ( 'Eastern', 'Western', 'UMass', 'MIT' )
我会回来的:
2, Eastern
3, Western
但我真正想知道的是电子表格中的东西,而不是表格中的内容。例如:
UMass
MIT
我有什么简单的方法可以使用SQL查询吗?
答案 0 :(得分:1)
最简单的方法是在db表中上传excel表并执行LEFT JOIN
SELECT newUniv.name
FROM newUniv
LEFT JOIN University
ON newUniv.name = University.name
WHERE University.name IS NULL;
答案 1 :(得分:0)
出于懒惰,我可能只是将sql中的名称粘贴到新工作表中,并使用excel公式找出数据库中没有的。
当值不在引用列表中时,返回TRUE
。
=ISNA(VLOOKUP(A2,Sheet2!A:A,1,FALSE))
其中A2
是您正在查找的名称,Sheet2!A:A
是您从数据库中粘贴名称的位置