Usando INSTR :
SELECT *
FROM TABLE a
JOIN TABLE b ON INSTR(b.column, a.column) > 0
Usando ME GUSTA:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'
Usando LIKE, con CONCAT:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')
Tenga en cuenta que en todas las opciones, probablemente querrá poner los valores de columna en mayúsculas ANTES de comparar para asegurarse de obtener coincidencias sin preocuparse por la distinción entre mayúsculas y minúsculas:
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
Lo más eficiente dependerá en última instancia del plan EXPLAIN salida.
JOIN
las cláusulas son idénticas a escribir WHERE
cláusulas. El JOIN
La sintaxis también se conoce como ANSI JOIN porque se estandarizaron. Los JOIN que no son ANSI tienen el siguiente aspecto:
SELECT *
FROM TABLE a,
TABLE b
WHERE INSTR(b.column, a.column) > 0
No me voy a molestar con un ejemplo de UNIÓN IZQUIERDA no ANSI. El beneficio de la sintaxis ANSI JOIN es que separa lo que une las tablas de lo que realmente sucede en WHERE
cláusula.