Получение Записей с Предложением USING

В примере на рисунке, столбцы DEPARTMENT_ID в таблицах EMPLOYEES и DEPARTMENTS соединяются и таким образом отображается LOCATION_ID отдела, где сотрудник работает.

Получение Записей с Предложением USING

Использование Табличных Псевдонимов с Предложением USING

  • Не квалифицируйте столбец, который используется в предложении USING.

  • Если тот же самый столбец используется в другом месте в SQL-операторе, не используйте псевдоним для него.

Использование Табличных Псевдонимов с Предложением USING

При соединении с предложением USING нельзя квалифицировать столбец, который используется в самом предложении USING. Кроме того, если этот столбец используется где-нибудь в SQL-операторе, нельзя задавать ему псевдоним. Например, в запросе на рисунке, нельзя задать псевдоним столбца location_id в предложении WHERE, потому что столбец используется в предложении USING.

Столбцы, на которые ссылаются в предложении USING, не должны иметь спецификатор (имя таблицы или псевдоним) нигде в SQL-операторе. Например, следующий оператор допустим:

    SELECT l.city, d.department_name
FROM locations l JOIN departments d USING (location_id)
WHERE location_id = 1400;

Столбцы, которые являются общими в обоих таблицах, но не используются в предложении USING, должны быть снабжены префиксом псевдонима таблицы; иначе, Вы получаете ошибку “column ambiguously defined”.

В следующем операторе, manager_id присутствует в обоих таблицах employees и departments; если manager_id не снабжается префиксом псевдонима таблицы, этот оператор выдает ошибку “column ambiguously defined”.

Следующий оператор допустим:

    SELECT first_name, d.department_name, d.manager_id
FROM employees e JOIN departments d USING (department_id)
WHERE department_id = 50;

Далее: Типичные Проблемы при Использовании Подзапросов

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)