基本问题,但当涉及到忽略SQL上的数据点时,两个代码中哪一个最适合不包括以a开头的城市中的客户,或者它们可以互换?下面的代码;
从客户中选择*其中城市类似"[B-Z]%";
或
从客户中选择*哪个城市不喜欢"A%";
首先,这些并不等价。MySQL不支持LIKE
中的字符类。并且没有一个城市名称以[
开头。
即使在这样做的数据库(即SQL Server(中,两者都可能会进行完整的表扫描,因为查询几乎选择了所有行。然而,第二个字符有可能在City
上使用索引,因为LIKE
模式中的第一个字符不是通配符。因此,在数据库中,如果两者在功能上等效,则第二种是首选。