почему мы используем объединение для получения данных из более чем одной таблицы? - PullRequest
0 голосов
/ 29 марта 2019

Я использую Windows 7 и Oracle 11g, поэтому, когда мы хотим получить данные из более чем одной таблицы, мы используем соединение или мы используем обычный выбор:

select d.department_id,e.employee_id
from employees e,departments d
where d.department_id = e.employee_id;

мой вопрос

почему мы просто используем этот простой способ для получения данных из более чем одной таблицы?почему люди используют join или любые другие способы и игнорируют этот путь ??

извините за плохой английский

1 Ответ

1 голос
/ 29 марта 2019

Ваш запрос написан в синтаксисе соединения SQL-89. Это старый устаревший синтаксис, который иногда трудно прочитать.

select d.department_id,e.employee_id
from employees e,departments d
where d.department_id = e.employee_id;

Что если вам нужно объединить более двух столов? Что если условие соединения не так просто?
В предложении WHERE у вас будет просто много условий, которые вряд ли можно сопоставить с таблицами, к которым они применяются.

Ваш запрос должен быть переписан на:

select d.department_id,e.employee_id
from employees e 
   join departments d on d.department_id = e.employee_id;

Оба запроса равны, но последний использует синтаксис соединения SQL-92, который является предпочтительным. Это ясно, очевидно и легко читается.

Если вы все еще сомневаетесь, попробуйте написать запрос, объединяющий более 5 таблиц. И вы увидите преимущества нового синтаксиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...