кодесурса
«SQLite

Oracle: создание объединений с помощью предложения USING

script1adsense2code
script1adsense3code

Как создать соединение с предложением 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code