LIKE
De LIKE
operator wordt gebruikt in de
WHERE
clausule.
Met de LIKE
operator is het mogelijk om op bepaalde delen van de kolominhoud te zoeken.
SELECT kolomnaam FROM Tabelnaam WHERE kolomnaam LIKE zoekterm
De LIKE
maakt gebruik van wildcards. Er zijn twee mogelijk wildcards die gebruikt kunnen worden:
%
en _
.
De %
wildcard staat voor 0, 1 of meerdere karakters. Wordt bijvoorbeeld %n
opgegeven als
zoekterm voor de LIKE
, dan wordt gezocht naar alle waardes die eindigen met de 'n'. De zoekterm
n%
zal zoeken naar alle waardes die beginnen met de 'n'. Bij %n%
wordt gezocht op
alle waardes die een 'n' bevatten.
SELECT kolomnaam FROM Tabelnaam WHERE kolomnaam LIKE 'n%'
De _
wildcard staat voor 1 karakter. Voor elk karakter dat gematched moet worden moet een _
gebruikt worden. Goede voorbeelden van deze wildcard zijn postcodes of geboortedatums. Stel dat iedereen die op
een bepaalde dag geselecteerd moet worden dan kan 25-08-____
gebruikt worden. In het geval van de
postcode kan elke postcode uit een bepaald gebied op deze manier opgevraagd worden: 1234__
.
SELECT kolomnaam FROM Tabelnaam WHERE kolomnaam LIKE '1234__'
LIKE
in de praktijk
De volgende dataset is de inhoud van de tabel Persoon.
id, voornaam, achternaam, woonplaats 1, 'Henk', 'Janssen', 'Amsterdam' 2, 'Petra', 'de klomp', 'Nijmegen' 3, 'Sjoerd', 'Vermeulen', 'Maastricht' 4, 'Mieke', 'Sterk', 'Amsterdam'
Als we alle personen willen selecteren waarvan de achternaam eindigt met de 'n', dan kunnen we de volgende query gebruiken.
SELECT * FROM Persoon WHERE woonplaats LIKE '%n'
Resultaat 1, 'Henk', 'Janssen', 'Amsterdam' 3, 'Sjoerd', 'Vermeulen', 'Maastricht'
We kunnen de LIKE
ook gebruiken in combinatie met
NOT
SELECT * FROM Persoon WHERE woonplaats NOT LIKE '%en'
Resultaat 2, 'Petra', 'de klomp', 'Nijmegen' 4, 'Mieke', 'Sterk', 'Amsterdam'
De volgende dataset is de inhoud van de tabel Adres.
id, voornaam, achternaam, postcode 1, 'Henk', 'Janssen', '1297DX' 2, 'Petra', 'de klomp', '7201ZP' 3, 'Sjoerd', 'Vermeulen', '7201DT' 4, 'Mieke', 'Sterk', '1337DL'
We willen nu alle mensen die woonachtig zijn in het postcode gebied 7201 opvragen.
SELECT * FROM Persoon WHERE postcode LIKE '7201__'
id, voornaam, achternaam, postcode 2, 'Petra', 'de klomp', '7201ZP' 3, 'Sjoerd', 'Vermeulen', '7201DT'