LIKE in SQL
L’operatore LIKE
è uno strumento potente nelle query SQL che consente di effettuare ricerche di testo basate su modelli o pattern. Le wildcard, ovvero dei caratteri speciali, possono essere utilizzate con l’operatore LIKE
per eseguire ricerche flessibili e avanzate. In questa lezione, esploreremo l’operatore LIKE
, le wildcard disponibili e forniremo esempi pratici per illustrarne l’utilizzo.
Introduzione all’Operatore LIKE
L’operatore LIKE
è utilizzato per confrontare un valore con un pattern specificato. È particolarmente utile quando si desidera cercare valori che corrispondono a una determinata struttura o sequenza di caratteri.
Elenco delle Wildcard Disponibili
Prima di procedere, vediamo un elenco delle wildcard disponibili:
%
(Percentuale): Rappresenta zero o più caratteri._
(Sottolineato): Rappresenta esattamente un carattere.[]
(Parentesi Quadre): Definisce un insieme di caratteri possibili.[^]
(Parentesi Quadre Negate): Indica un insieme di caratteri da escludere.
Wildcard %
(Percentuale)
La wildcard %
rappresenta zero o più caratteri. Può essere utilizzata per trovare valori che iniziano, finiscono o contengono una sequenza di caratteri specifica.
Esempio:
SELECT nomeFROM clientiWHERE nome LIKE 'M%'; -- Trova i nomi che iniziano con "M"
Wildcard _
(Sottolineato)
La wildcard _
rappresenta esattamente un carattere. Può essere utilizzata per cercare valori in cui un carattere specifico occupa una posizione specifica.
Esempio:
SELECT usernameFROM utentiWHERE username LIKE '__smith'; -- Trova gli username che terminano con "smith" e hanno due caratteri precedenti
Wildcard []
(Parentesi Quadre)
Le parentesi quadre [ ]
possono essere utilizzate per definire un insieme di caratteri possibili in una posizione specifica.
Esempio:
SELECT parolaFROM glossarioWHERE parola LIKE '[AEIOU]%'; -- Trova le parole che iniziano con una vocale
Wildcard [^]
(Parentesi Quadre Negate)
Le parentesi quadre con il simbolo ^
all’interno [^ ]
indicano un insieme di caratteri da escludere in una posizione specifica.
Esempio:
SELECT titoloFROM libriWHERE titolo LIKE '[^0-9]%'; -- Trova i titoli che non iniziano con un numero
Wildcard Combinate
È possibile combinare le wildcard per creare ricerche più complesse e flessibili.
Esempio:
SELECT nomeFROM contattiWHERE nome LIKE 'D%e_'; -- Trova nomi che iniziano con "D", terminano con "e" e hanno un carattere nella terza posizione
Conclusioni
L’utilizzo dell’operatore LIKE
con le wildcard permette di effettuare ricerche di testo più flessibili e potenti. Comprendere come utilizzare queste wildcard in combinazione con LIKE
è fondamentale per condurre ricerche mirate nei dati del database.