@more11

Как составить запрос join using с промежуточной таблицей?

Добрый день. Не могу разобраться с заданием, помогите, пожалуйста
• Вывести таблицу из двух колонок (схема HR). В первой колонке имя и фамилия работника (first_name и last_name), разделенных одним пробелом. Во второй колонке адрес департамента, к котором работает сотрудник Адрес департамента задать в виде city||’’||street_address. Оба поля содержатся в таблице location. (Поскольку у таблиц employеes и locations нет общих полей использовать таблицу departments как промежуточную). При составлении запроса использовать вид соединения …JOIN… USING

Проблема в том, что я не понимаю, как использовать "промежуточную таблицу"
таблица employees: first_name, last_name, department_id
locations: city, street_address, location_id
departments: location_id, department_id

SELECT first_name||' '|| last_name, city||''||street_address 
FROM employees JOIN locations USING(department_id, location_id)


Понимаю, что в ходе этого запроса ошибка в том, что поля department_id нет в таблице location, а location_id нет в employees
Как добавить сюда промежуточную таблицу departments, используя join using?
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
SELECT E.FIRST_NAME,
       E.LAST_NAME,
       L.STREET_ADDRESS
  FROM HR.EMPLOYEES E
       LEFT JOIN DEPARTMENTS D ON D.DEPARTMENT_ID = E.DEPARTMENT_ID
       LEFT JOIN LOCATIONS L ON L.LOCATION_ID = D.LOCATION_ID;
  
SELECT E.FIRST_NAME,
       E.LAST_NAME,
       L.STREET_ADDRESS
  FROM  HR.EMPLOYEES E
        LEFT JOIN DEPARTMENTS D USING (DEPARTMENT_ID)
        LEFT JOIN LOCATIONS L USING (LOCATION_ID);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы