在标准SQL查询中,有必要检索项目表中列id等于2,4,6和8的行。提供两种方法可以在不使用IN的情况下搜索这些值。解释每种方式的利弊。 资料来源:http://www.glassdoor.com/Interview/The-Zappos-Family-Software-Engineer-Interview-Questions-EI_IE19906.0,17_KO18,35_IP2.htm
答案 0 :(得分:1)
使用columnID上的mod运算符,假定为columnID的顺序分配,如果不使用ROW ID。 CON假定存在对表的任意顺序,并且必须评估每一行以增加计算时间。
使用where子句,其中mod(ColumnID,2)= 0.再次假设为columnID的顺序赋值,但应该能够利用索引,而前面的示例可以利用基于函数的索引。
答案 1 :(得分:0)
您可以在条件中使用模数(%)来检索偶数ID编号的行。 Mod为您提供红利和除数的剩余部分。
类似的东西:
...
WHERE id % 2 = 0;