如何在 SQL 中同时使用 Where 和 Like 运算符?

How To Use The Where & Like Operator Together in SQL?

我想显示一个只有名字和姓氏的讲师列表,来自佐治亚州且姓氏以“儿子”结尾。

到目前为止我已经写了这个:

SELECT firstname, lastname, state
FROM instructors
WHERE state = 'ga'
AND lastname LIKE '%son'

但它没有返回请求的信息只是一个空白 table。

如有任何帮助,我们将不胜感激

要查找以 'son' 结尾的名称,您需要进行一些小改动并删除第二个“%”符号。两者都查找 'son' 任何地方,例如 'sonnentag'

第二个我猜数据库中的格鲁吉亚是 'GA' 而不是 'ga'。大小写很重要。

SELECT firstname, lastname, state
FROM instructors
WHERE state = 'GA'
AND lastname LIKE '*son'

这是一条带格式的评论,向您展示了如何进行故障排除。从这个开始:

SELECT firstname, lastname, state
FROM instructors
WHERE 1 = 1
-- and state = 'ga'
--AND lastname LIKE '%son'

如果那个returns没有记录,你就没有数据。如果是,则取消对其他两个过滤器的注释,一次一个,看看哪个导致没有记录被返回。很可能是您根本没有匹配的记录

这应该适合你。

 SELECT [firstname],[Lastname],[state]
 FROM instructors AS i
 WHERE i.state = 'ga' AND i.lastname LIKE '%son'

终于 !!!!!

我想通了!

SELECT firstname, lastname, state
FROM instructors
WHERE state = 'ga'
AND lastname LIKE '*son*'

我没有使用 %WildCard,而是在两端插入了 *WildCard,它准确显示了我的要求!

感谢大家的帮助!