Um mit Datenbanken zu kommunizieren, können Entwickler und Datenexperten die Sprache SQL verwenden. Mithilfe verschiedener Abfragen kannst du bestimmte Informationen auswählen, eine Tabelle aktualisieren, Daten hinzufügen oder löschen usw. Zu den Befehlen, die du kennen solltest, gehört die Abfrage SQL LIKE.
Aber wozu dient sie? Wie kann man sie nutzen? Entdecken Sie die Antworten mit einigen konkreten Anwendungsbeispielen.
Definition von SQL LIKE
Der Befehl SQL LIKE ist einer der unverzichtbaren Befehle der Computersprache SQL. Er dient dazu, innerhalb einer Tabelle nach bestimmten Daten zu suchen. Dazu verwendet LIKE SQL Vorlagen, mit deren Hilfe Sie genau definieren können, was Sie brauchen. Wenn Sie beispielsweise Kunden auswählen möchten, deren Namen mit „de“ beginnen oder mit „in“ enden, etc.
💡Auch interessant:
MySQL Relationale Datenbanksoftware |
SQL Tutorial |
Apache Cassandra noSQL BDD |
SQL Joins |
SQL Count Tutorial |
Wie wird SQL LIKE verwendet ?
Um die Abfrage SQL LIKE zu verwenden, lautet die gängigste Syntax wie folgt:
- SELECT *
- FROM table
- WHERE spalte LIKE modell
Mit diesem Befehl kannst du Daten innerhalb einer Tabelle in einer Spalte nach dem durch SQL LIKE definierten Muster auswählen. Aber was ist nun dieses Suchmuster?
Es wird durch Jokerzeichen definiert. Diese ersetzen die anderen Zeichen in Ihrer Zeichenkette. Es gibt zwei Haupttypen. Nämlich:
%: Es steht für alle anderen Zeichen.
_: steht für ein einzelnes Zeichen.
Davon ausgehend gibt es folgende Kombinationsmöglichkeiten:
- LIKE ‚%a‘: Damit kannst du nach allen Zeichenketten suchen, die mit einem „a“ enden.
- LIKE ‚a%‘: Umgekehrt kannst du nach allen Zeichenketten suchen, die mit einem „a“ beginnen.
- LIKE ‚%a%‘: Dies betrifft alle Datensätze, die das Zeichen „a“ verwenden. Dabei kann das % nur ein, mehrere oder sogar kein Zeichen vor oder nach dem „a“ anzeigen.
- LIKE ‚a%ion‘: Mit diesem Muster wird nach Zeichenfolgen gesucht, die mit „a“ beginnen und mit „ion“ enden, wie „Flugzeug“ oder „Achtung“.
- LIKE ‚a__‘: Hierbei wird nach allen Zeichenketten gesucht, die mit „a“ beginnen. Deren Gesamtanzahl an Zeichen aber auf 3 begrenzt ist.
- LIKE ‚_a%‘: Die Kombination dieser beiden Wildcards sagt uns, dass die Gesamtzahl der Zeichen keine Rolle spielt. Stattdessen muss das „a“ unbedingt an zweiter Stelle stehen.
Damit du die Verwendung von SQL LIKE und die verschiedenen Suchmuster besser verstehen kannst, haben wir einige konkrete Beispiele für dich.
5 Beispiele für die Verwendung der Abfrage SQL LIKE
Für diese verschiedenen Beispiele werden wir die folgende „Client“-Tabelle verwenden:
Name | Vorname | Postleitzahl | Telefonnummer | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Dupont | Thomas | 17015 | 06.23.98.51.45 | dupont17@gmail.com |
Berger | Justine | 77485 | 06.15.29.85.61 | jusber@orange.fr |
Bernard | Valentin | 63950 | 07.59.65.19.95 | beber@sfr.fr |
LIKE ‘a%’
Für diesen LIKE SQL-Befehl suchen wir nach allen Kunden, die im Département Charente-Maritime (17) leben. Hier ist die Syntax der Abfrage:
SELECT *
FROM Kunde
WHERE Postleitzahl LIKE 77%.
Und hier ist das Ergebnis:
Name | Vorname | Postleitzahl | Telefonnummer | |
---|---|---|---|---|
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Dupont | Thomas | 17015 | 06.23.98.51.45 | dupont17@gmail.com |
LIKE ‘a%’
Das Ziel dieser LIKE SQL-Abfrage ist es, alle Kunden mit einer Gmail-Adresse zu finden. Du benötigst dazu folgende Syntax:
SELECT *
FROM Kunde
WHERE email LIKE %gmail.com
Und hier ist das Ergebnis:
Vorname | Nachname | Postleitzahl | Telefonnummer | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Dupont | Thomas | 17015 | 06.23.98.51.45 | dupont17@gmail.com |
LIKE ‘%a%’
Hier suchen wir nach allen Kunden, deren Vorname ein „i“ enthält. Die Syntax lautet wie folgt:
SELECT *
FROM Kunde
WHERE vorname LIKE %i%.
Und hier ist das Ergebnis:
Name | Vorname | Postleitzahl | Telefonnummer | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Berger | Justine | 77485 | 06.15.29.85.61 | jusber@orange.fr |
Bernard | Valentin | 63950 | 07.59.65.19.95 | beber@sfr.fr |
LIKE ‘_a%’
Für diese LIKE SQL-Abfrage suchen wir nach allen Kunden, deren zweiter Buchstabe im Vornamen ein „ai“ ist. Hier ist die zu verwendende Syntax:
SELECT *
FROM Kunde
WHERE vorname LIKE %_a%.
Und hier ist das Ergebnis:
Nachname | Vorname | Postleitzahl | Telefonnummer | |
---|---|---|---|---|
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Bernard | Valentin | 63950 | 07.59.65.19.95 | beber@sfr.fr |
LIKE ‘a%ion’
Für dieses letzte Beispiel für LIKE SQL suchen wir nach allen Kunden, deren Telefonnummer mit 06 beginnt und mit 61 endet. Die Syntax lautet wie folgt:
SELECT *
FROM Kunde
WHERE Telefonnummer LIKE 06%61
Und hier ist das Ergebnis:
Nachname | Vorname | Postleitzahl | Telefonnummer | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Berger | Justine | 77485 | 06.15.29.85.61 | jusber@orange.fr |
SQL LIKE und mehr lernen mit DataScientest
Neben der LIKE SQL-Abfrage gibt es eine Vielzahl weiterer Abfragen, die du kennen solltest, um effektiv mit relationalen Datenbanken umgehen zu können. Wenn du mehr darüber erfahren möchtest, kannst du an unseren Datentrainings teilnehmen.