Базы данных

Чтение данных из нескольких таблиц с помощью операции соединения

Результатом соединения будет следующая таблица:

Mystic Fabric

20000

Tobey

Mystic Fabric

47000

Tobey

Mystic Fabric

10000

Tobey

Mi Vida

17500

Miro

Mi Vida

75000

Miro

Slow Embers

15000

Tobey

Mystic Fabric

Tobey

Northwest by Night

72500

Chagall

В стандарте SQL-92 введен альтернативный синтаксис соединения, ставший весьма популярным, поскольку его легче интерпретировать. Здесь вместо WHERE используются ключевые слова JOIN и ON:

SELECT Title, AskingPrice

FROM WORK JOIN TRANSACTION

ON WORK.WorkID = TRANSACTION.WorkID;

Результат имеет следующий вид:

Mystic Fabric                 20000

Mystic Fabric                 47000

Mystic Fabric                 10000

Mi Vida                          17500

Mi Vida                          75000

Slow Embers                  15000Mystic Fabric

Northwest by Night        72500

Сделать оператор соединения более удобным для чтения можно, используя псевдонимы для имен таблиц. Выражение FROM WORK W присваивает таблице WORK псевдоним W. Это позволяет переписать предыдущий оператор следующим образом:

SELECT Title, AskingPrice FROM WORK W JOIN TRANSACTION T ON W.WorkID = T.WorkID;

Соединение трех таблиц можно выполнить путем добавления предложения JOIN в конец первого оператора SELECT:

SELECT W.Title, AskingPrice, A.Name

FROM WORK W JOIN TRANSACTION T

ON W.WorkID = T.WorkID

JOIN ARTIST A

ON W.ArtistID = A.ArtistID;

Следует обратить внимание, что когда требуется указать имя столбца в первой строке оператора SELECT, необходимо использовать псевдоним, а не имя таблицы. Так, в выше приведенном операторе SELECT используется запись W.Title, а не WORK.Title.

По мере того, как запросы усложняются, этот формат оказывается легче интерпретировать, и именно он будет использоваться для соединений далее. На практике необходимо знать оба формата, поскольку и тот, и другой применяются в промышленности.

предыдущаяследующая