Otimizando o uso do WHERE + OR com o WHERE + IN

O IN pode ser utilizado em substituição ao OR para trazer uma legibilidade maior ao cógido, além de fazer com que as condições fiquem mais lógicas de serem descritas.

Nesse exemplo, eu preciso saber quantos produtos do fabricante Litware nos temos, nas cores Silver ou Blue ou White ou Red ou Black. (Percebe que até para descrever fica mais longo? Veja agora com o uso do IN)

SELECT

*

FROM

DimProduct

WHERE

BrandName = 'Litware' AND ColorName IN ('Silver', 'Blue', 'White', 'Red', 'Black')

ORDER BY

ColorName

O reultado foi de 183 produtos na condição desejada. O uso do IN possibilitou que eu descrevesse um conjunto de 5 cores de 16, sem ficar por exemplo repetindo a condição ColorName = 'Silver' OR ColorName = 'Blue', caso optasse pelo uso da condição OR.