搜索SQL短语的精确术语

时间:2010-10-07 13:11:31

标签: sql

我正在尝试记录一些SQL,并希望获得正确的术语。如果你像这样写SQL;

select child.ID, parent.ID
from hierarchy child 
inner join hierarchy parent 
on child.parentId = parent.ID

然后你有一个实际的表('hierarchy'),你给出了两个名字('parent'和'child')我的问题是你如何引用一个带有名字的表的逻辑实体。

你会在这里写下这个名字的空白吗?

“此查询使用一个表格(层次结构),但有两个 _ (子级和父级)”

[edit]在问题中留下了以前的草稿。现在纠正了。

4 个答案:

答案 0 :(得分:5)

我相信这叫做SELF JOIN。 A和B(或“孩子”和“父母”,我认为你的问题中有一个拼写错误)被称为ALIAS或TABLE ALIASes。

答案 1 :(得分:4)

概念是self join。但是,a是语法错误。该表格为hierarchy,别名为child

我会将自己的每个部分称为instance

答案 2 :(得分:2)

在SQL Server文档中,术语为table_source

  

指定要在Transact-SQL语句中使用的包含或不包含别名的表,视图或派生表源

在BNF语法中,它是:

<table_source> ::= 
{
        table_or_view_name [ [ AS ] table_alias ] [ <tablesample_clause> ] 
        [ WITH ( < table_hint > [ [ , ]...n ] ) ] 
    | rowset_function [ [ AS ] table_alias ] 
        [ ( bulk_column_alias [ ,...n ] ) ] 
        | user_defined_function [ [ AS ] table_alias ] [ (column_alias [ ,...n ] ) ]
    | OPENXML <openxml_clause> 
    | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ] 
    | <joined_table> 
    | <pivoted_table> 
    | <unpivoted_table>
      | @variable [ [ AS ] table_alias ]
        | @variable.function_call ( expression [ ,...n ] ) [ [ AS ] table_alias ] [ (column_alias [ ,...n ] ) ]

答案 3 :(得分:1)

'child', 'parent'

SQL-92标准规范中使用的术语是“相关名称”,是一种“标识符”。

'hierarchy'

SQL-92标准规范中使用的术语是“table”。

因此,您(编辑)问题的答案是:

  

此查询使用一个表(层次结构)   但两个相关名称(孩子和孩子)   亲本)。