我有数据库
ID FirstName LastName。我想得到各种人的身份。因此,我正在编写如下的查询。
Select ID from Database where FirstName='X' and LastName='x1'
Select ID from Database where FirstName='Y' and LastName='y1'
Select ID from Database where FirstName='Z' and LastName='z1'
我有任何方法可以优化此查询。
答案 0 :(得分:2)
您可以简单地将多个条件放在单个where子句中,因此为了简单起见,请使用它们。
Select ID from Database
where (FirstName='X' and LastName='x1') OR
(FirstName='Y' and LastName='y1') OR
(FirstName='Z' and LastName='z1')
带有NULL条目的- 您可以再添加一个条件
OR (FirstName is NULL AND LastName is NULL)
答案 1 :(得分:0)
如果你想获得Database
表中不存在的那些名称的行(不要在你的表中使用此名称,BTW):
select a.FirstName, a.LastName, d.id
from (
select 'X', 'X1' union all
select 'Y', 'Y1' union all
select 'Z', 'Z1'
) as a(FirstName, LastName)
left outer join Database as d on d.FirstName = a.FirstName and d.LastName = a.LastName