Sql 如何搜索两列?

Sql 如何搜索两列?,sql,tsql,Sql,Tsql,我有一张有名字、姓氏和联系电话的桌子 如果用户输入kar,那么我需要一个完整的列表,其中包含kar的名字或姓氏。非常简单: SELECT * FROM directory WHERE firstname LIKE '%kar%' OR lastname LIKE '%kar%'; 这假设kar是名称的一部分,如果它是全名,则执行first\u name='kar' SELECT first_name, last_name, number FROM your_phone_book WHERE f

我有一张有名字、姓氏和联系电话的桌子


如果用户输入
kar
,那么我需要一个完整的列表,其中包含
kar
的名字或姓氏。

非常简单:

SELECT * FROM directory
WHERE firstname LIKE '%kar%'
OR lastname LIKE '%kar%';

这假设
kar
是名称的一部分,如果它是全名,则执行
first\u name='kar'

SELECT first_name, last_name, number
FROM your_phone_book
WHERE first_name LIKE '%kar%'
   OR last_name LIKE  '%kar%'
你说的“优化”是什么意思?
select firstname from table
where firstname like '%name%'