IN 的批量查询方式,写起来简单,查起来也快,挺适合初学 SQL 时上手练练的。像查住在“北京”、“上海”、“西安”、“成都”的用户,用一条 IN 就能搞定,比一个个 OR 拼条件方便多了。

语法也没啥复杂的,直接这样写:

SELECT AuthorName, City 
FROM Authors 
WHERE City IN ('北京','上海','西安','成都')

比你一个个写 City = '北京' OR City = '上海' 省事多了吧?嗯,主要适合数据集是固定值的场景,像城市、分类、标签这些。

不过要注意,IN精确匹配,不是模糊匹配哦,模糊查询还是得靠 LIKE。如果你想查包含“京”字的城市,那得这么写:

WHERE City LIKE '%京%'

所以别搞混了,IN 适合枚举LIKE 适合模糊搜索。想结合起来用?可以考虑自己写逻辑拼接或者用 REGEXP(某些数据库支持)。

对了,下面这些相关文章也挺不错的,入门到进阶的都有:

如果你刚开始学 SQL,建议先把 WHEREIN 的基础吃透,再搞 LIKE 和复杂逻辑,会轻松不少。