SQL LIKE Befehl
Der SQL LIKE Befehl ermöglicht eine Suche auf der Grundlage eines vorher definierten regulären Musters anstelle eines festen Suchbegriffs (wie bei SQL IN) oder der Definition eines Bereichs (wie bei SQL BETWEEN).Oft wird der SQL Like Befehl in Texten bzw. Zeichenketten verwendet, um mit regulären Mustern Ergebnisse zurückzuliefern.
SQL LIKE Befehl Syntax
Die SQL Syntax einer Select-Abfrage mit WHERE und LIKE kann wie folgt aufgebaut werden:
SELECT Spaltenname FROM Tabellenname WHERE Spaltenname LIKE 'MUSTER'
Das 'MUSTER' kann nach folgenden Strukturen aufgebaut werden:
- 'L_S': Alle Zeichenketten die mit einem 'L' beginnen, inklusive einem Folgezeichen und mit einem 'S' enden.
- 'BEST%': Alle Zeichenketten, die mit 'BEST' beginnen.
- '%UNG': Alle Zeichenketten, die auf 'UNG' enden.
- '%ST%': Alle Zeichenketten, die an irgendeiner Stelle das Muster 'ST' enthalten.
SQL LIKE Befehl Beispiel
Gegeben sei eine Tabelle namens "Mitarbeiter":
Nachname | Vorname | Gehalt | Geschlecht |
Richard | Juliana | 1350 | w |
Wagner | Jakob | 5790 | m |
Rosenkreuz | Max | 4410 | m |
Lutter | Juliane | 1271 | w |
Poller | Moritz | 5034 | m |
Nun wollen wir alle Mitarbeiter auswählen, wo der Vorname mit R beginnt, 8 Folgezeichen besitzt und auf z endet:
Das SQL-Statement mit der LIKE-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,GESCHLECHT FROM MITARBEITER WHERE NACHNAME LIKE 'R________z'
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Geschlecht |
Rosenkreuz | Max | 4410 | m |
Nun wollen wir alle Mitarbeiter auswählen, wo der Nachname mit Lu beginnt:
Das SQL-Statement mit der LIKE-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,GESCHLECHT FROM MITARBEITER WHERE NACHNAME LIKE 'Lu%'
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Geschlecht |
Lutter | Juliane | 1271 | w |
Nun wollen wir alle Mitarbeiter auswählen, wo der Nachname auf er endet:
Das SQL-Statement mit der LIKE-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,GESCHLECHT FROM MITARBEITER WHERE NACHNAME LIKE '%er'
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Geschlecht |
Wagner | Jakob | 5790 | m |
Lutter | Juliane | 1271 | w |
Poller | Moritz | 5034 | m |
Nun wollen wir alle Mitarbeiter auswählen, wo der Vorname die Buchstaben an enthält:
Das SQL-Statement mit der LIKE-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,GESCHLECHT FROM MITARBEITER WHERE VORNAME LIKE '%an%'
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Geschlecht |
Richard | Juliana | 1350 | w |
Lutter | Juliane | 1271 | w |