Heim > Datenbank > MySQL-Tutorial > Hauptteil

Können Sie LIKE und IN für leistungsfähigere SQL-Abfragen kombinieren?

DDD
Freigeben: 2024-11-18 07:03:02
Original
304 Leute haben es durchsucht

Can You Combine LIKE and IN for More Powerful SQL Queries?

Kombinieren von LIKE und IN für erweiterte SQL-Abfragen

In SQL wird der LIKE-Operator häufig für den Mustervergleich verwendet, während der IN-Operator dies ermöglicht uns, einen Wert mit einer Liste spezifischer Werte abzugleichen. Obwohl diese Operatoren unterschiedlichen Zwecken dienen, ist es möglich, sie zu kombinieren, um leistungsfähigere Abfragen zu erstellen.

Betrachten wir das folgende Szenario: Sie haben eine Tabelle mit einer Spalte namens „company_id“ und möchten alle Zeilen auswählen, in denen die „company_id“ beginnt mit bestimmten Zeichenfolgen wie „M510“, „M615“, „M515“ und „M612“.

Ein Ansatz könnte darin bestehen, den LIKE-Operator wie folgt zu verwenden:

SELECT * FROM tablename WHERE company_id LIKE 'M510%'
Nach dem Login kopieren

Dies stimmt jedoch nur mit Zeilen überein, die genau mit „M510“ beginnen. Um mehrere Zeichenfolgen abzugleichen, müssten Sie mehrere Abfragen erstellen.

Teilzeichenfolge mit IN verwenden

Eine effizientere Lösung besteht darin, eine Teilzeichenfolge mit dem IN-Operator zu verwenden. Die Funktion SUBSTRING() extrahiert eine angegebene Anzahl von Zeichen aus einer Zeichenfolge, beginnend an einer bestimmten Position.

Für unser Szenario können wir die folgende Abfrage verwenden:

SELECT * FROM tablename
WHERE SUBSTRING(company_id, 1, 4) IN ('M510', 'M615', 'M515', 'M612')
Nach dem Login kopieren

Diese Abfrage wird Extrahieren Sie die ersten 4 Zeichen aus der Spalte „company_id“ und prüfen Sie, ob sie in der in der IN-Klausel angegebenen Werteliste vorhanden sind. Durch die Kombination des Teilstrings mit IN können wir den gewünschten Mustervergleich erreichen, ohne ein Array von Strings durchlaufen zu müssen.

Das obige ist der detaillierte Inhalt vonKönnen Sie LIKE und IN für leistungsfähigere SQL-Abfragen kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage