IN关键字可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件,该纪录将被查询出来。如果不在集合中,则不满足查询条件。其语法规则如下:[ NOT ] IN ( 元素1, 元素2, …, 元素n )
例如:
select * from STUDENT where STU_AGE in(11,12)
本文主要研究一下mysql如何用一个列来存储多个值
mysql用单列存储多值通常用于一对多的反范式处理,具体可以用bit、int/bigint、varchar、set类型来实现,缺点是不支持索引。
OR 可能导致无法使用索引这个说法在这儿仍然是成立的:
第一个可以理解为:
WHERE index1=1 AND (index2=2 OR index1=3 AND index3=3)
所以是可能会使用索引index1 的。
第二个直接就是 两者条件的 OR
所以 无法使用索引
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)