Heim > Datenbank > MySQL-Tutorial > Wie führe ich einen teilweisen String-Abgleich in SQL-Joins mit LIKE durch?

Wie führe ich einen teilweisen String-Abgleich in SQL-Joins mit LIKE durch?

Patricia Arquette
Freigeben: 2024-11-03 21:29:29
Original
1025 Leute haben es durchsucht

How to Perform Partial String Matching in SQL Joins using LIKE?

Verknüpfen von Tabellen mit LIKE in SQL

Beim Durchführen einer Verknüpfung kann es vorkommen, dass die Übereinstimmungsbedingung einen teilweisen Zeichenfolgenabgleich mit LIKE erfordert Operator. Dabei wird eine Spalte in einer Tabelle mit einer Spalte in einer anderen Tabelle abgeglichen, wobei den entsprechenden Werten Zeichen vorangestellt oder nachgestellt werden können.

Um dieses Problem zu beheben, können Sie mehrere Ansätze anwenden:

Verwenden von INSTR:

Diese Methode nutzt die INSTR-Funktion, die prüft, ob ein Teilstring innerhalb einer Zeichenfolge vorhanden ist.

<code class="sql">SELECT *
FROM TABLE a
JOIN TABLE b ON INSTR(b.column, a.column) > 0</code>
Nach dem Login kopieren

Verwenden von LIKE:

Alternativ können Sie den LIKE-Operator mit Platzhaltern % verwenden, um eine beliebige Anzahl von Zeichen abzugleichen.

<code class="sql">SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'</code>
Nach dem Login kopieren

Verwendung von LIKE mit CONCAT:

Andere Bei dieser Technik werden die %-Platzhalter mithilfe der CONCAT-Funktion mit dem Spaltenwert verkettet.

<code class="sql">SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')</code>
Nach dem Login kopieren

Groß-/Kleinschreibung wird nicht berücksichtigt:

In allen Fällen wird empfohlen, die Spalte zu konvertieren Werte vor dem Vergleich in Großbuchstaben umwandeln, um eine Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung zu gewährleisten.

<code class="sql">SELECT *
FROM (SELECT UPPER(a.column) 'ua'
         FROM TABLE a) a
JOIN (SELECT UPPER(b.column) 'ub'
         FROM TABLE b) b ON INSTR(b.ub, a.ua) > 0</code>
Nach dem Login kopieren

Die Wahl der Methode hängt von Faktoren wie Effizienz und Datenbankkompatibilität ab. Konsultieren Sie die EXPLAIN-Planausgabe, um den optimalen Ansatz zu ermitteln. Beachten Sie, dass die JOIN-Syntax der entsprechenden WHERE-Klausel entspricht.

Das obige ist der detaillierte Inhalt vonWie führe ich einen teilweisen String-Abgleich in SQL-Joins mit LIKE durch?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage