2013-11-17 3 views
0

Выполняю некоторую реляционную алгебру. На слайде учителя я увидел вещь, которая заставляет меня думать, что может быть ошибка. Я думаю, третий JOIN, должно бытьПрисоединиться к операторам и коммутативности

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

вместо

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

Используя эту последнюю команду вы присоединиться Farmácia на себя, не так ли?

Вопрос слайд говорит:

Какая аптека продает наркотики Х phramaceutic компании Y?

enter image description here

+3

Команда верный. Порядок столбцов в ON-части инструкции не влияет на то, как выполняется 'JOIN'. – SchmitzIT

+0

заполните ответ, чтобы получить зеленую метку –

ответ

3

Порядок столбцов в ON части заявления не влияет, как РЕГИСТРИРУЙТЕСЬ сама делается.

Это:

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 
+0

Извините, еще один вопрос: как насчет порядка присоединений? –

+1

Вы имеете в виду порядок таблиц в JOINS? При написании запросов вы обычно добавляете таблицы в том порядке, в котором они связаны друг с другом. Если у вас есть цепочка связанных таблиц, я считаю, что это хорошая практика, использующая цепочку в правильном порядке. В некоторых инструментах запроса могут возникать ошибки, если создаваемый JOIN опирается на таблицу, еще не указанную. Однако, когда вы действительно выполняете запрос, я бы хотел подумать, что движок все это выяснит. – SchmitzIT

Смежные вопросы