假设我有以下表(命名为table_1(:
Column1 Column2 Column3
A 123 'ABCDE'
B 333 'FGHIJ'
C 444 'KLMNO'
我有另一个表,像这个表(名为table_2(:
Column4
'BCD'
'FGH'
现在,我想使用table_2过滤table_1。然而,正如你所看到的,第4列并没有包含第3列的全名,只是其中的一部分
select * from table_1 where Column3 like '%BCD%' or Column3 like '%FGH%'
但我想知道是否还有另一种方法,更聪明。
您可以使用exists
和like
:
select t1.*
from table_1 t1
where exists (
select 1 from table_2 t2 where t1.column3 like '%' || t2.column4 || '%'
)