L'istruzione in cui 1 = 1 in SQL significa vero. È la stessa operazione dell'esecuzione dell'istruzione SELECT senza la clausola.
Potresti chiedere, qual è lo scopo della clausola in cui 1 = 1?
Nella maggior parte dei casi, dovrai utilizzare questa clausola solo quando è necessario creare dichiarazioni SQL dinamiche. Una volta applicata la clausola Where 1 = 1, tutte le dichiarazioni successive dopo la sua possono iniziare con la parola chiave "e".
È più simile a un modo per includere dichiarazioni SQL esplorative in modo molto pigro e conveniente. Ti consente anche di commentare le domande in modo semplice.
Considera un esempio in cui stai indovinando un ID di una colonna. Supponendo che tu non sia sicuro se quell'ID esiste nel database, è possibile utilizzare qualcosa di simile a 1 = 1 per restituire tutte le righe anche se l'ID target non è nel database.
Seleziona * dagli utenti dove id = 10 o 1 = 1;La query sopra utilizza un'istruzione o un'istruzione. Quindi, solo una delle condizioni deve essere vera affinché la query funzioni.
Anche se non esiste un utente con un ID di 10, 1 = 1 valuterà sempre a true e la query prenderà tutte le righe nella tabella specificata.
Esecuzione delle query
Se non stai cercando informazioni sui database, raramente dovrai preoccuparti della clausola Where 1 = 1.
Tuttavia, puoi chiedere se la clausola migliora il tempo di esecuzione.
La risposta è no.
L'impostazione della clausola in cui 1 = 1 è uguale a quella di eseguire la query senza una clausola. La maggior parte dei motori del database rimuoverà la clausola prima di eseguire l'istruzione.
Conclusione
Questo breve articolo descrive cosa SQL dove 1 = 1 clausola e perché puoi usarlo.