在许多数据库中,在编写SELECT
查询时,您可以提供数据库名称和表名称,以便在多个数据库具有相同表名称的情况下解决数据库可能遇到的任何歧义。
例如,假设当前登录到SQL Server的用户在数据库DB1
和DB2
上具有SELECT
权限,并且两个数据库都有一个名为CUSTOMERS
的表。下面的查询将返回一个错误,指出表名太不明确:
SELECT * FROM CUSTOMERS
解决方案是更具体,以便数据库知道从哪个表查询:
SELCT * FROM DB1.CUSTOMERS
我的问题是,在SQL中<database>.<table>
语法的名称是什么?我这样问是为了让我的术语在向初级开发人员解释时是正确的。
这些通常被称为"qualified"和名称,它们可以在"未限定"时使用。name有歧义,例如当select
查询从多个共享列名的表中提取数据时。