Квалификаторы идентификаторов
Квалификаторы используются в операторах SQL для ссылки на структуры данных, такие как базы данных, таблицы или столбцы. Например, запрос SELECT обычно содержит ссылки на некоторые столбцы и по крайней мере на одну таблицу.
Квалификаторы могут состоять из одного или нескольких идентификаторов, где начальные части влияют на контекст, в котором интерпретируется конечный идентификатор:
- Для базы данных необходимо указать только идентификатор базы данных.
- Для объектов, которые содержатся в базе данных (таких как таблицы, представления, функции и т. д.), можно указать идентификатор базы данных. Если база данных не указана, предполагается текущая база данных (см. USE и DATABASE() для получения более подробной информации). Если нет базы данных по умолчанию и база данных не указана, выдается ошибка.
- Для имён столбцов таблица и база данных, как правило, очевидны из контекста оператора. Однако можно указать идентификатор таблицы или идентификатор базы данных плюс идентификатор таблицы.
- Идентификатор считается полностью квалифицированным, если он содержит все возможные квалификаторы, например, следующий столбец является полностью квалифицированным:
db_name.tbl_name.col_name.
Если квалификатор состоит более чем из одного идентификатора, в качестве разделителя необходимо использовать точку (.). Все идентификаторы могут быть заключены в кавычки по отдельности. Допускается дополнительное пространство (включая новые строки и табуляции).
Все следующие примеры являются допустимыми:
- db_name.tbl_name.col_name
- tbl_name
- `db_name`.`tbl_name`.`col_name`
- `db_name` . `tbl_name`
- db_name. tbl_name
Если идентификатор таблицы предваряется точкой (.), предполагается база данных по умолчанию. Эта синтаксическая конструкция поддерживается для соответствия ODBC, но не оказывает практического влияния на MariaDB. Эти квалификаторы эквивалентны:
- tbl_name
- . tbl_name
- .`tbl_name`
- . `tbl_name`
Для операторов DML можно указать список разделов с помощью предложения PARTITION. Подробности см. в разделе Оптимизация запросов по разделам и выборка данных.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/identifier-qualifiers/