Verwenden von INSTR :
SELECT *
FROM TABLE a
JOIN TABLE b ON INSTR(b.column, a.column) > 0
Verwendung von LIKE:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'
Mit LIKE, mit CONCAT:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')
Beachten Sie, dass Sie bei allen Optionen wahrscheinlich die Spaltenwerte VOR dem Vergleichen in Großbuchstaben umwandeln möchten, um sicherzustellen, dass Sie Übereinstimmungen ohne Berücksichtigung der Groß-/Kleinschreibung erhalten:
SELECT *
FROM (SELECT UPPER(a.column) 'ua'
TABLE a) a
JOIN (SELECT UPPER(b.column) 'ub'
TABLE b) b ON INSTR(b.ub, a.ua) > 0
Die effizienteste hängt letztendlich vom EXPLAIN-Plan ab Ausgabe.
JOIN
Klauseln sind identisch mit dem Schreiben von WHERE
Klauseln. Der JOIN
Syntax wird auch als ANSI JOINs bezeichnet, da sie standardisiert wurde. Nicht-ANSI-JOINs sehen folgendermaßen aus:
SELECT *
FROM TABLE a,
TABLE b
WHERE INSTR(b.column, a.column) > 0
Ich werde mich nicht mit einem Nicht-ANSI-LEFT-JOIN-Beispiel beschäftigen. Der Vorteil der ANSI JOIN-Syntax besteht darin, dass sie das Zusammenfügen von Tabellen von dem trennt, was tatsächlich in WHERE
passiert Klausel.