Sql 三个表连接在一起,给了我所有记录的组合

Sql 三个表连接在一起,给了我所有记录的组合,sql,inner-join,Sql,Inner Join,当我编写如下查询时。。它是所有记录的组合。 询问中有什么错误 SELECT ven.vendor_code, add.address1 FROM vendor ven INNER JOIN employee emp ON ven.emp_fk = emp.id INNER JOIN address add ON add.emp_name = emp.emp_name; 使用内部连接,您必须将两个表之间的所有链接(关系)放在ON子句中 假设关系良好,您可以

当我编写如下查询时。。它是所有记录的组合。 询问中有什么错误

SELECT ven.vendor_code, add.address1 
    FROM vendor ven INNER JOIN employee emp 
    ON ven.emp_fk = emp.id 
    INNER JOIN address add 
    ON add.emp_name = emp.emp_name;

使用内部连接,您必须将两个表之间的所有链接(关系)放在
ON
子句中

假设关系良好,您可以测试以下查询,看看它们是否真的组合了所有记录:

SELECT count(*)
from vendor ven
inner join employee emp on ven.emp_fk = emp.id 
inner join address add on add.emp_name = emp.emp_name;

SELECT count(*)
       add.address1
from vendor ven, employee emp, address add
如果两个查询都返回相同的结果(我对此表示怀疑),那么您就真的做到了


如果没有,就像我假设的那样,可能您缺少一个关系或一个过滤结果数量的限制。

您一定缺少一些代码。你有
rem.address
但你没有任何
rem
别名。我敢肯定。。我没有错过任何类似的东西..什么是
rem
?没有表具有此别名。这不是一个可执行查询。我打错了。。我现在更正了…@Mayilarun你能发布你得到的
输出吗
什么是例外输出
,表结构会更有价值。