Sử dụng INSTR :
SELECT *
FROM TABLE a
JOIN TABLE b ON INSTR(b.column, a.column) > 0
Sử dụng LIKE:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'
Sử dụng LIKE, với CONCAT:
SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')
Lưu ý rằng trong tất cả các tùy chọn, có thể bạn sẽ muốn chuyển các giá trị cột thành chữ hoa TRƯỚC KHI so sánh để đảm bảo bạn nhận được các kết quả phù hợp mà không cần quan tâm đến phân biệt chữ hoa chữ thường:
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
Hiệu quả nhất cuối cùng sẽ phụ thuộc vào gói GIẢI THÍCH đầu ra.
JOIN
mệnh đề giống với cách viết WHERE
điều khoản. JOIN
cú pháp cũng được gọi là ANSI JOIN vì chúng đã được chuẩn hóa. Các THAM GIA KHÔNG ANSI trông giống như:
SELECT *
FROM TABLE a,
TABLE b
WHERE INSTR(b.column, a.column) > 0
Tôi sẽ không bận tâm với một ví dụ THAM GIA TRÁI KHÔNG ANSI. Lợi ích của cú pháp ANSI JOIN là nó phân tách những gì đang kết hợp các bảng với nhau khỏi những gì đang thực sự xảy ra trong WHERE
mệnh đề.