在SQL点的意义比方说,我们有一个简单的查询什么是声明
SELECT something
FROM name_before_dot.name_after_dot
什么是点在FROM子句中的含义是什么?
是不是某种分离或者是它只是一个表名与它的点?
你,我已经搜查SO,它的线程在选择或在哪里,我知道涉及别名,从点在谈论点头脑仍是一个谜给我。
在SQL点的意义比方说,我们有一个简单的查询什么是声明
SELECT something
FROM name_before_dot.name_after_dot
什么是点在FROM子句中的含义是什么?
是不是某种分离或者是它只是一个表名与它的点?
你,我已经搜查SO,它的线程在选择或在哪里,我知道涉及别名,从点在谈论点头脑仍是一个谜给我。
这是一个数据库架构。表的全部三个部分的名称是:
databasename.schemaname.tablename
对于用户的默认模式,你也可以省略架构名称:
databasename..tablename
您还可以指定链接服务器名称:
servername.databasename.schemaname.tablename
你可以阅读更多有关使用上MSDN标识符作为表名:
服务器,数据库和所有者名称被称为对象名称的限定符。当你引用一个对象时,你不必指定服务器,数据库和所有者。通过用一段时间标记他们的位置可以省略限定符。对象名称有效形式包括以下内容:
server_name.database_name.schema_name.object_name
server_name.database_name..object_name
server_name..schema_name.object_name
服务器名称.. .object_name
database_name.schema_name.object_name
database_name..object_name
schema_name.object_name
OBJECT_NAME
,指定所有四个部分被称为一个完全合格的名称的对象名。在Microsoft SQL Server中创建的每个对象都必须具有唯一的完全限定名称。例如,如果它们拥有不同的所有者,则可以在同一个数据库中有两个名为xyz的表。
大多数对象引用使用三部分名称。默认的server_name是本地服务器。默认的database_name是连接的当前数据库。默认的schema_name是提交语句的用户的默认模式。除非另行配置,否则新用户的默认模式是dbo模式。
批准为更详细的答案。 –
在Oracle的对象名称中没有“server_name”这样的东西,并且不能有像这样的两个点('..')。 –
SELECT something
FROM name_before_dot.name_after_d
,如果你从字面上翻译
我批准了更详细的其他答案,但这里是我的奖金,谢谢=) –
Oracle documentation对此进行了详细解释。
只有两部分其中:
- 对象是该对象的名称。
- 模式是包含该对象的模式。模式限定符允许您引用除您自己以外的模式中的对象。您必须被授予引用其他模式中的对象的权限。如果您省略了模式,那么Oracle会假定您在自己的模式中引用了一个对象。
...
所以你已经证明,在from
子句,name_before_dot
是模式的对象是(即它的主人),以及name_after_dot
是对象名称。
您可以在all_objects
视图中看到所有者和对象名称。
'[模式名]。[表名]' – David
什么RDBMS是您使用?不同的人有不同的名称为它 – Lamak
@Lamak这是甲骨文 –