Выражение FROM
Выражение FROM указывает источник данных, с которыми должна работать остальная часть запроса. С точки зрения логики, выражение FROM — это место, с которого начинается выполнение запроса.
Синтаксис
SELECT ...
FROM objectReference [ JOIN objectReference [ ... ] ]
[ ... ]
где:
objectReference ::=
{
[<namespace>.]<object_name>
[ AT | BEFORE ( <object_state> ) ]
[ CHANGES ( <change_tracking_type> ) ]
[ MATCH_RECOGNIZE ]
[ PIVOT | UNPIVOT ]
[ [ AS ] <alias_name> ]
| <table_function>
[ PIVOT | UNPIVOT ]
[ [ AS ] <alias_name> ]
| ( VALUES (...) )
| ( <subquery> )
[ [ AS ] <alias_name> ]
| DIRECTORY( @<stage_name> )
}
Параметры
-
[<namespace>.]<object_name>
Указывает имя объекта (таблицы или представления), к которому производится запрос.
-
<table_function>
Указывает системную табличную функцию, табличную функцию UDF или метод класса для вызова в выраженииFROM.
-
VALUES
ВыражениеVALUESможет содержать литеральные значения или выражения, которые будут использоваться в выраженииFROM. Это выражение также может содержать псевдонимы таблиц и колонок (не показаны на схеме выше).
-
<subquery>
Подзапрос в выраженииFROM.
-
DIRECTORY( @stage_name )
Указывает имя этапа, включающего таблицу каталогов.
-
[ AS ] <alias_name>
Указывает имя, заданное для объекта, к которому она относится. Может использоваться с любыми другими подзапросами в выраженииFROM. ОператорASможет опускаться.
-
JOIN
Указывает на выполнение соединения между двумя (или более) таблицами (или представлениями или табличными функциями). Соединение может быть внутренним внешним или иметь другой тип. Соединение может использовать ключевое словоJOINили альтернативный поддерживаемый синтаксис соединения.
Подробное описание см. в разделе ВыражениеJOIN.
Примеры
-
Выбираем все колонки из таблицы с именем
my_table:SELECT * FROM my_table; -
Выбираем все колонки из таблицы с именем
my_tableчерез псевдонимmt:SELECT mt.* FROM my_table mt; -
Используем префиксный псевдоним:
SELECT mt.* FROM mt: my_table; -
Выбираем все колонки из таблицы
my_tableв схемеmy_schema:SELECT * FROM my_schema.my_table; -
Выбираем все колонки из подзапроса:
SELECT * FROM (SELECT * FROM my_table); -
Объединяем две таблицы:
SELECT * FROM my_table JOIN other_table ON my_table.key = other_table.key;Подробное описание см. в разделе Выражение
JOIN.