Поиск

Идентификационные квалификаторы

MySQL разрешает имена, которые состоят из одного или нескольких идентификато­ров. Компоненты составных имен должны разделяться символом точки '.'. Начальные (левые) части составных идентификаторов служат квалификаторами, влияющими на контекст, в котором конечный идентификатор должен интерпретироваться.
В MySQL вы можете обращаться к столбцу, используя любую из следующих форм:


Ссылка на столбец Смысл
имя_столбца Столбец имя_столбца из любой таблицы, используемой в
запросе и содержащей столбец с таким именем.
имя таблицы. имя_ столбца Столбец имя_столбца из таблицы имя_ таблицы базы дан­ных по умолчанию.
имя_базы_данных. имя_таблицы. имя_столбца Столбец имя_столбца из таблицы имя_таблицы базы данных
имя_базы_данных.
Этот синтаксис не применялся до версии MySQL 3.22.

Если любой компонент составного идентификатора требует заключения в кавычки, это следует делать индивидуально, а не для всего имени в целом. Например, Nmy- table4. 4my-columrT правильно, в то время как 4my-table.my-column4 -нет.
Нет необходимости специфицировать префиксы имя_базы_ данных или имя_таблицы для ссылки на столбцы в операторах, если только ссылка не является неоднозначной. Предположим, что обе таблицы, и tl, и t2, имеют столбец с именем с, и выполняется чтение с с помощью оператора SELECT, который использует и tl, и t2. В этом случае имя с неоднозначно, потому что оно не уникально в таблицах, участвующих в запросе. Вы обязаны квалифицировать его именем таблицы, подобно tl.c или t2.c, чтобы указать, какая таблица имеется в виду. Подобным же образом, чтобы обратиться к таблице t ба­зы данных dbl и таблице t базы данных db2 в одном операторе, вы должны ссылаться на столбцы этих таблиц: dbl.t.имя_столбца и db2. t. имя_столбца.
Синтаксис .имя_таблицы означает таблицу имя_таблицы в текущей базе данных. Этот синтаксис принят для совместимости с ODBC, поскольку некоторые программы ODBC снабжают имена таблиц префиксом 'Л'.