SQL Query用于获取以A或B或C ..开头的名称

Jad*_*ran 1 mysql sql

我有一个包含列'name'(varchar)的表
我希望得到名称以'a','b','c','d','e,'或'f开头的所有行".
我已经构建了如下查询:
WHERE LEFT(u.name, 1)='a' OR LEFT(u.name, 1)='b' OR LEFT(u.name, 1)='c' OR LEFT(u.name, 1)='d' OR LEFT(u.name, 1)='e' OR LEFT(u.name, 1)='f'

有没有更好的办法?使用正则表达式可能?
让我们说我必须在更广泛的范围(A到M)做它会减慢查询吗?

Joh*_*Woo 9

尝试使用 IN

WHERE LEFT(u.name, 1) IN ('a', 'b', 'c', 'd', 'e', 'f')
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以定义所需的任何起始字符,即使它不是按顺序排列的.