在两个表上使用相交?

Fer*_*ium 5 mysql sql database sql-server ibm-midrange

我试图找到所有四个表共有的行.我试过用这个:

SELECT * 
FROM TABLE1 
INTERSECT
SELECT *
FROM TABLE2
INTERSECT
SELECT *
FROM TABLE3
 INTERSECT
SELECT *
FROM TABLE4;    
Run Code Online (Sandbox Code Playgroud)

但是没有结果,我知道有些行符合这个要求.因为使用union而不是添加"order by",我会看到来自不同表的四行具有相同的描述.

Ste*_*han 5

INNER JOIN在您想要的字段上使用条件
:

SELECT 
    t1.* 
FROM 
    TABLE1 t1
INNER JOIN TABLE2 t2
    ON t1.field1 = t2.field1
    AND t1.field2 = t2.field2
    ...
INNER JOIN TABLE2 t3
    ON t1.field1 = t3.field1
    AND t1.field2 = t3.field2
...
Run Code Online (Sandbox Code Playgroud)