我的声明如下:
select nomF from fournisseur as f, usine as u, puf, produit as p
where f.numF = puf.numF
and u.numU = puf.numU
and p.numP = puf.numP
where u.villeU in ('Paris','Créteil')
我想使用Inner Join
重新创建它,但我不知道如何,因为它有多个关节。
这是我尝试过的,但我不知道它是否正确:
select nomF from fournisseur
inner join puf on numF
inner join usine on numU
inner join produit on numP
where usine.villeU in ('Paris','Créteil')
有人可以告诉我,我使用inner join
写的语句是否会返回与第一个相同的结果。
如果没有,那是我犯的错误。
提前致谢。
答案 0 :(得分:1)
使用内部联接,您仍然需要像使用where子句
一样指定要加入的列select nomF
from fournisseur f
inner join puf ON f.numF = puf.numF
inner join usine u ON u.numU = puf.numU
AND u.villeU in ('Paris','Créteil')
inner join produit p ON p.numP = puf.numP
答案 1 :(得分:1)
许多数据库支持using
语法。这使您可以执行您似乎想要做的事情:
select nomF
from fournisseur inner join
puf
using (numF) inner join
usine
using (numU) inner join
produit
using (numP)
where usine.villeU in ('Paris','Créteil');