Fondamenti

IN, BETWEEN e LIKE: quale filtro scegliere?

Tre operatori apparentemente simili rispondono a tre diverse intenzioni commerciali.

Team SQL.tn7min
Tre meccanismi visivi filtrano un elenco, un intervallo e uno schema SQL

Elenco, intervallo o modello?

IN verifica l'appartenenza a un elenco chiuso, BETWEEN verifica un intervallo inclusivo e LIKE cerca una forma in un testo.

Tradurre prima la richiesta in una frase evita di impilare OR o di utilizzare uno schema troppo ampio e di raccogliere righe inaspettate.

I nomi, gli importi e i dati utilizzati in questo articolo sono fittizi e creati a scopo didattico.

La domanda è stata spiegata

Inizia definendo cosa dovrebbe rappresentare una riga del risultato. Questa decisione determina le colonne, i raggruppamenti e i controlli necessari.

L'esempio seguente isola il meccanismo principale. Eseguilo, osserva il risultato, quindi modifica una clausola alla volta per comprenderne l'effetto.

Tre filtri combinati
SELECT produit, categorie, prix
FROM produits
WHERE categorie IN ('Ufficio', 'Informatica')
  AND prix BETWEEN 20 AND 100
  AND produit LIKE '%Pro%';

Leggi il risultato come un analista

La gamma comprende 20 e 100. Il modello %Pro% accetta Pro ovunque nell'etichetta; Pro% lo imporrebbe all'inizio.

Con AND, una linea deve soddisfare tutte e tre le condizioni. Aggiungi parentesi ogni volta che OR inserisce la query.

  • Testare entrambi i terminali di BETWEEN.
  • Controlla quale testo deve corrispondere e quale deve essere escluso.
  • Conta le linee dopo ogni filtro.
  • Documentare la rottura prevista a seconda del motore.

Errori che distorcono l'analisi

Una query può essere valida senza rispondere correttamente alla domanda. Gli errori più costosi spesso sono silenziosi: perimetro sbagliato, linea moltiplicata o valore mancante interpretato come zero.

Prima di condividere il risultato, confrontalo con un piccolo campione calcolato manualmente e mantieni la definizione dell'ambito con la query.

  • Credere BETWEEN esclude i terminali.
  • Utilizza % su entrambi i lati e amplia eccessivamente la ricerca.
  • Mescola AND e OR senza parentesi.
  • Utilizzare IN con un valore NULL senza comprendere la logica dei tre valori.

Mettiti in pratica

Completa l'esercizio sulla fascia di prezzo, quindi sostituisci BETWEEN con due confronti per confermare l'equivalenza.

Il simulatore SQL di SQL.tn esegue solo query di lettura su dati fittizi nel tuo browser. Puoi provare più scritture e confrontare i risultati senza installare alcun software.

Metti in pratica questa guida.

Apri l’esercizio collegato, esegui la query e confronta il risultato atteso.

Inizia l’esercizio
IN, BETWEEN e LIKE e SQL: scegliere il filtro giusto — SQL.tn