SQL LIKEOperatoren
Der LIKE-Operator wird verwendet, um in der WHERE-Klausel in einer Spalte nach einem angegebenen Muster zu suchen.
LIKEDer Operator ist ein Schlüsselwort in SQL, das verwendet wird fürWHEREdie Durchführung unscharfer Abfragen in der Klausel. Er ermöglicht es uns, Daten basierend auf Musterabgleich auszuwählen, und wird normalerweise zusammen mit%und_Platzhaltern.
SQL LIKE-Syntax
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
Parameter description:
- column1, column2, ...: Der oder die auszuwählenden Feldnamen; es können mehrere Felder sein. Wenn kein Feldname angegeben wird, werden alle Felder ausgewählt.
- table_name: Der Name der abzufragenden Tabelle.
- column: Der Name des zu durchsuchenden Felds.
- pattern: Das Suchmuster.
Platzhalter
%: Entspricht einer beliebigen Anzahl von Zeichen (einschließlich null Zeichen)._: Entspricht einem einzelnen Zeichen.
Beispiele
Angenommen, wir haben eine Tabelle namens Products mit den folgenden Daten:
| ProductID | ProductName | Kategorie |
|---|---|---|
| 1 | iPhone 12 | Elektronik |
| 2 | Samsung Galaxy S21 | Elektronik |
| 3 | Dell XPS 13 | Elektronik |
| 4 | Nike Air Zoom | Schuhe |
| 5 | Adidas Ultraboost | Schuhe |
| 6 | Sony PlayStation 5 | Elektronik |
Verwenden Sie%Platzhalter, um alle Produkte zu finden, die mit "iPhone" beginnen:
SELECT ProductName, Category FROM Products WHERE ProductName LIKE 'iPhone%';
Gibt die folgenden Daten zurück:
| ProductName | Kategorie |
|---|---|
| iPhone 12 | Elektronik |
Verwenden Sie_Platzhalter, um alle Produkte zu finden, deren Name "e" als zweites Zeichen hat:
SELECT ProductName, Category FROM Products WHERE ProductName LIKE '_e%';
Gibt die folgenden Daten zurück:
| ProductName | Kategorie |
|---|---|
| Dell XPS 13 | Elektronik |
Kombinieren Sie%und_Platzhalter, um alle Produkte zu finden, deren Name "Zoom" enthält:
SELECT ProductName, Category FROM Products WHERE ProductName LIKE '%Zoom%';
Gibt die folgenden Daten zurück:
| ProductName | Kategorie |
|---|---|
| Nike Air Zoom | Schuhe |
Demo-Datenbank
In diesem Tutorial verwenden wir die Beispieldatenbank EXAMPLE.
Nachfolgend ist eine Auswahl aus der Tabelle "Websites" aufgeführt:
mysql> SELECT * FROM Websites; +----+---------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+---------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | Example | http://www.example.com/ | 5000 | USA | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
SQL LIKE-Operator-Beispiele
Die folgende SQL-Anweisung wählt alle Kunden aus, deren Name mit dem Buchstaben "G" beginnt:
Beispiel
WHERE name LIKE 'G%';
Ergebnis der Ausführung:
Tipp:Das Symbol "%" wird verwendet, um Platzhalter (Standardbuchstaben) vor und nach dem Muster zu definieren. Mehr über Platzhalter erfahren Sie im nächsten Kapitel.
Die folgende SQL-Anweisung wählt alle Kunden aus, deren Name mit dem Buchstaben "k" endet:
Beispiel
WHERE name LIKE '%k';
Ergebnis der Ausführung:
Die folgende SQL-Anweisung wählt alle Kunden aus, deren Name das Muster "oo" enthält:
Beispiel
WHERE name LIKE '%oo%';
Ergebnis der Ausführung:
Durch die Verwendung des Schlüsselworts NOT können Sie Datensätze auswählen, die nicht dem Muster entsprechen.
Die folgende SQL-Anweisung wählt alle Kunden aus, deren Name das Muster "oo" nicht enthält:
Beispiel
WHERE name NOT LIKE '%oo%';
Ergebnis der Ausführung: