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_name
db2.t.
.
col_name
The syntax
means the table .tbl_name
tbl_name
in the default database. This syntax is accepted for ODBC compatibility because some ODBC programs prefix table names with a ".
" character.