Identifier Qualifiers
MySQL permits names that consist of a single identifier or multiple identifiers. The components of a multiple-part name must be separated by period (".") characters. The initial parts of a multiple-part name act as qualifiers that affect the context within which the final identifier is interpreted.
In MySQL, you can refer to a table column using any of the following forms.
| Column Reference | Meaning |
|---|---|
col_name
| The column col_name from whichever table used in the statement contains a column of that name.
|
tbl_name.col_name
| The column col_name from table tbl_name of the default database.
|
db_name.tbl_name.col_name
| The column col_name from table tbl_name of the database db_name. |
If any components of a multiple-part name require quoting, quote them individually rather than quoting the name as a whole. For example, write `my-table`.`my-column`, not `my-table.my-column`.
A reserved word that follows a period in a qualified name must be an identifier, so in that context it need not be quoted.
You need not specify a tbl_name or db_name.tbl_name prefix for a column reference in a statement unless the reference would be ambiguous. Suppose that tables t1 and t2 each contain a column c, and you retrieve c in a SELECT statement that uses both t1 and t2. In this case, c is ambiguous because it is not unique among the tables used in the statement. You must qualify it with a table name as t1.c or t2.c to indicate which table you mean. Similarly, to retrieve from a table t in database db1 and from a table t in database db2 in the same statement, you must refer to columns in those tables as db1.t. and col_namedb2.t..
col_name
The syntax means the table .tbl_nametbl_name in the default database. This syntax is accepted for ODBC compatibility because some ODBC programs prefix table names with a "." character.