如果我们需要根据给定列的某些值集查询表,我们可以简单地使用IN子句.
但是如果需要基于多个列执行查询,我们就不能使用IN子句(在SO线程中使用grep).
从其他SO线程,我们可以使用连接或存在子句等来规避这个问题.但是如果主表和搜索数据都在数据库中,它们都可以工作.
E.g
User table:
firstName, lastName, City
Run Code Online (Sandbox Code Playgroud)
给定(firstname,lastName)元组的列表,我需要获取城市.
我可以想到以下解决方案.
构造一个选择查询,如,
SELECT city from user where (firstName=x and lastName=y) or (firstName=a and lastName=b) or .....
Run Code Online (Sandbox Code Playgroud)
将所有firstName,lastName值上载到临时表中,并在"用户"表和新登台表之间执行连接.
有没有解决这个问题的方法,一般来说解决这个问题的首选是什么?