L’operatore SQL `LIKE` per ricerche efficienti con SQL

L’operatore SQL LIKE fa parte dei principali strumenti di SQL con cui eseguire ricerche efficienti nei record di dati in base a determinati modelli. Questa funzionalità è resa possibile dall’utilizzo di segnaposti e modelli che ti permettono di restringere notevolmente i record di dati in cui eseguire la ricerca. In questo modo puoi semplificare e velocizzare le tue query in SQL.

Che cos’è l’operatore SQL LIKE?

L’operatore SQL LIKE funziona come un detective alla ricerca di informazioni per le analisi dei dati. A seconda delle necessità, le ricerche nei record di dati e nelle sequenze di caratteri avvengono per corrispondenze esatte o utilizzando segnaposti e modelli. In questo ambito, i segnaposti di SQL sono detti anche caratteri jolly di SQL, utilizzati solo in combinazione con l’operatore LIKE. Essi permettono di filtrare i dati in modo efficiente e mirato e di ottimizzare notevolmente le prestazioni di questo linguaggio di interrogazione. L’operatore LIKE viene utilizzato spesso in combinazione con la clausola WHERE e con i comandi SQL SQL DELETE, SQL SELECT o SQL UPDATE.

Consiglio

Se non hai mai approfondito l’uso di SQL, dai un’occhiata alla nostra introduzione a SQL mediante esempi.

La sintassi dell’operatore LIKE

La sintassi fondamentale di LIKE si presenta così:

SELECT  colonnaA,  colonnaB, …
FROM tabellaA
WHERE colonnaA  LIKE 'Modello di ricerca o segnaposto'
sql

Sono disponibili i seguenti parametri:

  • SELECT: definisce le colonne da cui richiamare i dati. Un asterisco * permette di considerare anche interi record di dati.
  • FROM: indica le tabelle da considerare per la ricerca.
  • WHERE: definisce concretamente le colonne per la query.
  • LIKE: definisce il modello di ricerca. È possibile utilizzare sequenze di caratteri precise per corrispondenze esatte oppure i caratteri jolly di SQL.

Caratteri jolly di SQL disponibili per SQL LIKE

I caratteri jolly di SQL devono essere utilizzati per la ricerca con SQL solo insieme all’operatore LIKE per cercare risultati simili e corrispondenti. I principali caratteri jolly sono:

  • Simbolo della percentuale %: il % sostituisce uno o più caratteri nel modello di ricerca. Con %modelloricerca% puoi filtrare il record di dati in base al modello definito fra i simboli di percentuale. Non è importante dove si trovino i risultati all’interno del record di dati o quali stringhe di caratteri siano presenti prima o dopo il modello di ricerca. Con modello%ricerca è possibile filtrare il record di dati in base ai risultati che iniziano o finiscono con i caratteri che precedono o seguono %.
  • Trattino basso _: i trattini bassi sostituiscono singoli caratteri nel modello di ricerca. Cercando S_RA, ad esempio, puoi filtrare i tuoi dati cercando tutti i nomi che iniziano per S e terminano per RA, se la seconda lettera è sconosciuta.
  • Parentesi quadre […]: stabiliscono che la ricerca dell’insieme di caratteri è valida all’interno delle parentesi. Ad esempio, puoi utilizzare [a-d] per cercare una lettera fra A e D all’interno del modello di ricerca.

Possibilità di applicazione offerte dall’operatore LIKE

Le possibilità di applicazione per query e ricerche con LIKE sono quasi illimitate. Ad esempio è possibile:

  • Cercare varianti dei nomi che iniziano o terminano con una data stringa di caratteri, se non conosci il nome esatto
  • Cercare estensioni degli indirizzi e-mail come .it
  • Filtrare per corrispondenze esatte con chiavi di ricerca precise senza caratteri jolly di SQL
  • Filtrare per prodotti con determinate parole nel loro nome o cercare determinate caratteristiche del prodotto
  • Escludere dati, combinando gli operatori NOT e LIKE
  • Filtrare i risultati, ad esempio per data, intervallo di date o valori numerici, come i prezzi dei prodotti
Consiglio

Una gestione efficiente dei dati richiede una soluzione potente e sicura per il tuo sistema di gestione dei database. Con l’hosting SQL server di IONOS trovi offerte per server e hosting flessibili, adatte alle tue esigenze.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

Esempi pratici per la ricerca con SQL LIKE

A seconda dell’applicazione e del record di dati è possibile utilizzare diversi tipi di comandi LIKE. I nostri esempi pratici mostrano il funzionamento di SQL LIKE.

Filtraggio con chiave di ricerca esatta

Immagina di dover cercare i clienti con un cognome specifico nella tabella “Clienti”. Utilizzando SQL LIKE, puoi richiamare tutti i clienti con quel cognome esatto. Lo stesso vale per la ricerca di valori numerici esatti, come i prezzi dei prodotti.

Esempio:

SELECT  *
FROM  clienti
WHERE  cognome  LIKE  'Rossi'
sql

Filtraggio con simbolo di percentuale

Per filtrare record di dati di maggiori dimensioni in base a modelli, utilizza i caratteri jolly di SQL. Con il simbolo della percentuale, ad esempio, puoi filtrare una tabella di clienti trovando tutti i nomi che iniziano per “R” e finiscono per “ni”:

SELECT  *
FROM  clienti
WHERE  cognome  LIKE  'R%ni'
sql

Se vuoi cercare tutti gli indirizzi e-mail che finiscono per .it, utilizza la seguente sintassi:

SELECT  *
FROM  clienti
WHERE  indirizzo e-mail  LIKE  '%.it'
sql

Filtraggio con trattino basso

Stai cercando un cognome nella tabella “Clienti” di cui conosci solo le prime due e le ultime due lettere, ma non le lettere in mezzo? In questo caso, la sintassi di ricerca si presenta così:

SELECT  *
FROM  clienti
WHERE  cognome  LIKE  'Ro_ni'
sql

Esclusione di dati con NOT LIKE

È possibile invertire la query di ricerca con l’operatore SQL LIKE combinandolo con SQL NOT. In questo modo puoi filtrare un record di dati in base ai risultati che non corrispondono alla chiave o al modello di ricerca. Ad esempio, puoi cercare tutti i clienti il cui cognome non è identico a quello indicato:

SELECT  *
FROM  clienti
WHERE  cognome  NOT LIKE  'Rossini'
sql

Alternative a SQL LIKE

SQL LIKE fa parte degli operatori di confronto, ma sono disponibili anche altri operatori che funzionano in modo simile a LIKE. Tuttavia, i vantaggi di LIKE sono la maggiore flessibilità e la maggiore precisione dei risultati offerte dall’uso di caratteri jolly di SQL, segnaposti e modelli, anche con chiavi di ricerca imprecise.

Gli operatori che hanno un funzionamento simile a SQL LIKE sono:

  • Uguale a =: filtra i risultati che corrispondono esattamente alla chiave di ricerca.
  • Diverso da !=: filtra i risultati che non corrispondono esattamente alla chiave di ricerca.
  • Minore di < o Maggiore di >: restituisce i valori numerici dei record di dati che sono minori o maggiori del valore cercato. Con <= o >= puoi filtrare inoltre i risultati che sono minori o uguali oppure maggiori o uguali al valore cercato.
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top