数据库
首页 > 数据库> > mysql – 在两个表上使用相交?

mysql – 在两个表上使用相交?

作者:互联网

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

SELECT * 
FROM TABLE1 
INTERSECT
SELECT *
FROM TABLE2
INTERSECT
SELECT *
FROM TABLE3
 INTERSECT
SELECT *
FROM TABLE4;    

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

解决方法:

对所需字段使用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
...

标签:mysql,database,sql,sql-server,ibm-midrange
来源: https://codeday.me/bug/20190520/1142121.html