Korzystanie z INSTR :
SELECT *
FROM TABLE a
JOIN TABLE b ON INSTR(b.column, a.column) > 0
Korzystanie LIKE:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'
Używanie LIKE z CONCAT:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')
Pamiętaj, że we wszystkich opcjach prawdopodobnie będziesz chciał ustawić wartości w kolumnach na wielkie PRZED porównaniem, aby upewnić się, że otrzymujesz dopasowania bez obawy o rozróżnianie wielkości liter:
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
Najbardziej wydajny będzie ostatecznie zależał od Planu WYJAŚNIJ wyjście.
JOIN
klauzule są identyczne z zapisem WHERE
klauzule. JOIN
składnia jest również określana jako ANSI JOIN, ponieważ zostały znormalizowane. JOIN inne niż ANSI wyglądają tak:
SELECT *
FROM TABLE a,
TABLE b
WHERE INSTR(b.column, a.column) > 0
Nie zamierzam zawracać sobie głowy przykładem LEFT JOIN bez ANSI. Zaletą składni ANSI JOIN jest to, że oddziela ona to, co łączy tabele, od tego, co faktycznie dzieje się w WHERE
klauzula.