Combinando LIKE e IN para consultas SQL avançadas
Em SQL, o operador LIKE é frequentemente usado para correspondência de padrões, enquanto o operador IN permite para combinar um valor com uma lista de valores específicos. Embora esses operadores tenham finalidades diferentes, é possível combiná-los para criar consultas mais poderosas.
Vamos considerar o seguinte cenário: você tem uma tabela com uma coluna chamada "company_id" e deseja selecionar todas as linhas onde o "company_id" começa com strings específicas, como "M510", "M615", "M515" e "M612".
Uma abordagem pode ser usar o Operador LIKE da seguinte maneira:
SELECT * FROM tablename WHERE company_id LIKE 'M510%'
No entanto, isso corresponderá exatamente apenas às linhas que começam com "M510". Para combinar várias strings, você teria que criar várias consultas.
Usando substring com IN
Uma solução mais eficiente é usar uma substring com o operador IN. A função SUBSTRING() extrai um número especificado de caracteres de uma string, começando em uma determinada posição.
Para nosso cenário, podemos usar a seguinte consulta:
SELECT * FROM tablename WHERE SUBSTRING(company_id, 1, 4) IN ('M510', 'M615', 'M515', 'M612')
Esta consulta extrairá os primeiros 4 caracteres da coluna "company_id" e verificará se ele existe na lista de valores especificados na cláusula IN. Combinando a substring com IN, podemos obter a correspondência de padrões desejada sem precisar fazer um loop em uma matriz de strings.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3