Join operators and commutativity

2020-05-08 07:20发布

问题:

I am doing some relational algebra exercizes. On a teacher slide I saw a thing that makes me think that there can be an error. I think, the third JOIN, should be

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

instead of

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

Using this last command you will join Farmacia on itself, isn't it?

The slide question says:

Which pharmacy does sell drug X of phramaceutic company Y?

回答1:

The order of the columns in the ON part of the statement doesn't influence how the JOIN itself is done.

This:

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

will yield the same results as this:

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

The self-join you described would have been something like this:

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