1

列を持つデータベースがあります

ID 姓名。いろいろな人のIDを取得したいです。したがって、私は以下のようなクエリを書いています。

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'

このクエリを最適化する方法はあります。

4

2 に答える 2

2

複数の条件を 1 つの where 句に単純に入れることができるので、簡単にするためにそれらを使用してください。

Select ID from Database 
where (FirstName='X' and LastName='x1') OR 
      (FirstName='Y' and LastName='y1') OR
      (FirstName='Z' and LastName='z1')

with NULL Entries - もう 1 つの条件を追加できます

  OR (FirstName is NULL AND LastName is NULL)
于 2013-09-14T10:34:43.213 に答える
0

テーブルに存在しない名前でも行を取得したい場合Database(この名前をテーブルに使用しないでください):

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
于 2013-09-14T11:23:37.537 に答える