Базы данных. Вводный курс


Ссылки на таблицы раздела FROM


Напомним, что раздел FROM оператора выборки определяется синтаксическим правилом

FROM table_reference_commalist

Рассмотрим более подробно, какой вид могут иметь элементы этого списка. Для начала приведем полный набор синтаксических правил SQL:1999, определяющий table_reference.

table_reference ::= table_primary | joined_table table_primary ::= table_or_query_name [ [ AS ] correlation_name [ (derived_column_list) ] ] | derived_table [ [ AS ] correlation_name [ (derived_column_list) ] ] | lateral_derived_table [ [ AS ] correlation_name [ (derived_column_list) ] ] | collection_derived_table [ [ AS ] correlation_name [ (derived_column_list) ] ] | ONLY (table_or_query_name)[ [ AS ] correlation_name [ (derived_column_list) ] ] | (joined_table) table_or_query_name ::= { table_name | query_name } derived_table ::= (query_expression) lateral_derived_table ::= LATERAL (query_expression) collection_derived_table ::= UNNEST (collection_value_exression) [ WITH ORDINALITY ]

Мы отложим до лекции 19 обсуждение порождаемых таблиц с горизонтальной связью (lateral_derived_table) и «соединенных таблиц» (joined_table). Кроме того, мы не будем рассматривать в этом курсе конструкции collection_derived_table и ONLY (table_or_query_name), поскольку они относятся к объектным расширениям языка SQL, которые в данном курсе подробно не рассматриваются (на неформальном уровне объектно-реляционный подход обсуждается в лекции 23). Но даже при таких самоограничениях для дальнейшего продвижения нам придется определить несколько дополнительных синтаксических конструкций языка SQL.

  Мы сознательно используем здесь термин набор, поскольку в обем случае результатом выполнения оператора выборки не является таблица.

  Не следует понимать эту схему таким образом, что запросы к SQL-ориентированной базе данных действительно должны выполняться именно таким образом. Более того, ни одна реализация SQL не придерживается в точности этой схеме. Но как бы реально не выполнялся оператор выборки, результат должен быть таким же, как если бы он получался при точном следовании описываемой схеме выполнения.




Начало  Назад  Вперед