Por que usar WHERE 1 = 1 numa query SQL?

Usar a cláusula WHERE 1 = 1 em uma consulta SQL é uma prática comum em desenvolvimento de software. Ela é simplesmente uma forma de simplificar a construção e leitura das consultas SQL.

A cláusula WHERE é usada para filtrar os registros retornados por uma consulta SQL com base em uma determinada condição. Por exemplo, você pode usar WHERE nome = ‘João’ para filtrar os registros em que o campo “nome” seja igual a “João”.

No entanto, às vezes é necessário construir uma consulta SQL dinamicamente, onde diferentes partes da cláusula WHERE podem ser adicionadas ou removidas com base em condições específicas. Nesses casos, é comum utilizar a cláusula WHERE 1 = 1 como um ponto de partida para a construção da consulta.

Veja um exemplo:

SELECT * FROM tabela
WHERE 1 = 1

A cláusula WHERE 1 = 1 é sempre verdadeira e não afeta o resultado da consulta. No entanto, ela permite adicionar facilmente condições adicionais sem se preocupar com a necessidade de adicionar uma cláusula WHERE adicional ou se já existe uma condição WHERE presente ou não.

Por exemplo, quando você precisa adicionar um filtro adicional para buscar apenas registros ativos, você pode simplesmente adicionar a condição AND ativo = 1 à consulta, sem se preocupar se já existe uma cláusula WHERE presente ou não. Ficaria assim:

SELECT * FROM tabela
WHERE 1 = 1
AND ativo = 1

Essa prática torna o código SQL mais fácil de ler e manter, pois todas as condições são adicionadas de forma consistente e sem precisar se preocupar com condições iniciais. Além disso, facilita a construção dinâmica de consultas SQL em código, pois é possível adicionar ou remover as condições de forma programática, sem se preocupar com a presença ou ausência de uma cláusula WHERE inicial.