Oracle: создание объединений с помощью предложения USING
Как создать соединение с предложением USING в Oracle?
- Используйте предложение USING, чтобы указать столбцы для сравнения, где несколько столбцов имеют одинаковые имена, но не одинаковые типы данных.
- Используйте предложение USING, чтобы сопоставить только один столбец, если совпадает несколько столбцов.
- Положения NATURAL JOIN и USING являются взаимоисключающими.
Синтаксис ::
ВЫБЕРИТЕ table1.column, table2.column ИЗ таблицы 1 JOIN table2 USING (join_column1, join_column2…);
Объяснение:
- table1, table2 - это имена таблиц, участвующих в объединении.
- Синтаксис естественного соединения содержит ключевое слово NATURAL, а синтаксис JOIN… USING - нет.
- Ошибка возникает, если ключевые слова NATURAL и USING встречаются в одном и том же предложении соединения.
- Предложение JOIN… USING позволяет указывать один или несколько столбцов equijoin в скобках после ключевого слова USING.
Пример: создание объединений с предложением USING в Oracle>
В этом примере таблица LOCATIONS присоединяется к таблице COUNTRY с помощью столбца country_id (только столбец с одинаковым именем в обеих таблицах).
Пример таблицы: расположение
Пример таблицы: страны
SQL> SELECT location_id, street_address, postal_code, country_name
2 FROM locations
3 JOIN countries
4 USING (country_id);
Пример вывода:
POSTAL_CODE CITY REGION_ID COUNTRY_NAME ------------ ------------------------------ -------- - ------------------------- 00989 Рома 1 Италия 10934 Венеция 1 Италия 1689 Токио 3 Япония 6823 Хиросима 3 Япония 26192 Саутлейк 2 Соединенные Штаты Америки 99236 Южный Сан-Франциско 2 Соединенные Штаты Америки 50090 Южный Брансуик 2 Соединенные Штаты Америки 98199 Сиэтл 2 Соединенные Штаты Америки M5V 2L7 Торонто 2 Канада YSW 9T2 Whitehorse 2, Канада 190518 Пекин 3 Китай 490231 Бомбей 3 Индия 2901 Сидней 3 Австралия 540198 Сингапур 3 Сингапур Лондон 1 Великобритания OX9 9ZB Оксфорд 1 Великобритания 09629850293 Стретфорд 1 Великобритания 80925 Мюнхен 1 Германия 01307-002 Сан-Паулу 2 Бразилия 1730 Женева 1 Швейцария 3095 Берн 1 Швейцария 3029SK Утрехт 1 Нидерланды 11932 Мехико 2 Мексика 23 строки выбраны.
Использование псевдонимов таблиц с предложением USING
Когда мы используем предложение USING в операторе соединения, столбец соединения не квалифицируется псевдонимами таблицы. Не используйте псевдоним, даже если этот же столбец используется в другом месте в выражении SQL. Смотрите следующий пример:
Код SQL:
SQL> SELECT l.location_id, l.street_address, l.postal_code, c.country_name
2 FROM locations l
3 JOIN countries c
4 USING (country_id)
5 WHERE c.country_id<>'IT';
Пример вывода:
ГДЕ c.country_id <> 'IT' * ОШИБКА в строке 5: ORA-25154: часть столбца предложения USING не может иметь квалификатор
Примечание . Столбцы, которые являются общими в обеих таблицах, но не используются в предложении USING, должны начинаться с псевдонима таблицы.
Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 11g Express Edition.
Предыдущий: СОЕДИНЯЕТСЯ с предложением ON
Далее: ВНУТРЕННИЕ СОЕДИНЯЕТСЯ
Новый контент: Composer: менеджер зависимостей для PHP , R программирования