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:

ProductIDProductNameKategorie
1iPhone 12Elektronik
2Samsung Galaxy S21Elektronik
3Dell XPS 13Elektronik
4Nike Air ZoomSchuhe
5Adidas UltraboostSchuhe
6Sony PlayStation 5Elektronik

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:

ProductNameKategorie
iPhone 12Elektronik

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:

ProductNameKategorie
Dell XPS 13Elektronik

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:

ProductNameKategorie
Nike Air ZoomSchuhe


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

SELECT * FROM Websites
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

SELECT * FROM Websites
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

SELECT * FROM Websites
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

SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';

Ergebnis der Ausführung:

Andere Erweiterungen