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.
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'
sqlSono 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. Conmodello%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. CercandoS_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
eLIKE
- Filtrare i risultati, ad esempio per data, intervallo di date o valori numerici, come i prezzi dei prodotti
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.
- 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'
sqlFiltraggio 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'
sqlSe vuoi cercare tutti gli indirizzi e-mail che finiscono per .it, utilizza la seguente sintassi:
SELECT *
FROM clienti
WHERE indirizzo e-mail LIKE '%.it'
sqlFiltraggio 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'
sqlEsclusione 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'
sqlAlternative 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.