加入运营商和交流

时间:2013-11-17 15:10:53

标签: sql relational-algebra

我正在做一些关系代数练习。在教师幻灯片上,我看到一件事让我觉得可能有错误。 我认为,第三个JOIN应该是

JOIN 'Farmacia' as F
ON 'D'.'idCF' = 'F'.'idFì

而不是

JOIN 'Farmacia' as F
ON 'F'.'idFì = 'D'.'idCF'

使用这最后一个命令,你将自己加入Farmacia,不是吗?

幻灯片问题说:

  

哪家药店出售药品公司Y的药品X?

enter image description here

1 个答案:

答案 0 :(得分:3)

语句的ON部分中列的顺序不会影响JOIN本身的完成方式。

此:

SELECT t1.columnA, t2.columnB
FROM Table1 t1
   JOIN Table2 t2 ON t1.ID = t2.ID

将产生与此相同的结果:

SELECT t1.columnA, t2.columnB
FROM Table1 t1
   JOIN Table2 t2 ON t2.ID = t1.ID

你描述的自我加入会是这样的:

SELECT t1.columnA, t2.columnB
FROM Table1 t1
   JOIN Table1 t2 ON t1.managerID = t2.employeeID