加入

适用于:检查标记是的砖的SQL检查标记是的砖运行时

结合了两行表引用基于加入标准。

语法

left_table_reference{(join_type]加入right_table_referencejoin_criteria|自然join_type加入right_table_reference|交叉加入right_table_reference}join_type{(内心的]|(]|(]|正确的(]|完整的(]|(]|交叉}join_criteria{boolean_expression|使用(column_name(,])}

参数

  • left_table_reference

    左边的表引用的加入。

  • right_table_reference

    右边表引用的加入。

  • join_type

    连接类型。

    • (内部)

      返回匹配的行值在两个表引用。默认的连接类型。

    • 左(外)

      从左表引用和返回所有值匹配的值正确的表引用,或附加如果没有匹配。它也被称为左外连接

    • 正确的(外)

      从正确的表引用和返回所有值匹配值从左表引用,或附加如果没有匹配。它也被称为右外连接

    • 完整的(外)

      返回所有值关系,附加值没有匹配。它也被称为全外连接

    • (左)半

      从左边的表引用返回值匹配正确的。它也被称为左半连接

    • (左)反

      从左表引用返回值没有配以正确的表引用。它也被称为左反连接

  • 交叉连接

    返回两个的笛卡儿积的关系。

  • 自然

    从两个关系将隐式地指定行匹配在平等与匹配所有列的名字。

  • join_criteria

    指定如何结合行从一个表引用另一个表的行参考。

    • 在boolean_expression

      的布尔表达式的返回类型指定行从这两个关系如何匹配。如果结果是正确的行被认为是一场比赛。

    • 使用(column_name[…])

      匹配行通过比较平等的列的列表column_name在这两种关系必须存在。

      使用(c1,c2)是一个同义词rel1.c1=rel2.c1rel1.c2=rel2.c2

  • table_alias

    一个临时的名称和一个可选的列标识符列表。

笔记

当你指定使用自然,选择*只会显示一个发生的每个列用于比赛。

如果您省略了join_criteria的语义join_type成为一个交叉加入

例子

——使用employee和department表展示不同类型的连接。>创建临时视图员工(id,的名字,deptno)作为(105年,克洛伊的,5),(103年,“保罗”,3),(101年,“约翰。”,1),(102年,“丽莎”,2),(104年,“伊万”,4),(106年,“艾米”,6);>创建临时视图部门(deptno,deptname)作为(3,“工程”),(2,“销售”),(1,“市场营销”);——使用employee和department表来演示内连接。>选择id,的名字,员工deptno,deptname员工内心的加入部门员工deptno=部门deptno;103年保罗3工程101年约翰1市场营销102年丽莎2销售——使用employee和department表来演示加入。>选择id,的名字,员工deptno,deptname员工加入部门员工deptno=部门deptno;105年克洛伊5103年保罗3工程101年约翰1市场营销102年丽莎2销售104年埃文4106年艾米6——使用employee和department表来演示正确的连接。>选择id,的名字,员工deptno,deptname员工正确的加入部门员工deptno=部门deptno;103年保罗3工程101年约翰1市场营销102年丽莎2销售——使用employee和department表展示完整的加入。>选择id,的名字,员工deptno,deptname员工完整的加入部门员工deptno=部门deptno;101年约翰1市场营销106年艾米6103年保罗3工程105年克洛伊5104年埃文4102年丽莎2销售——使用employee和department表来演示交叉连接。>选择id,的名字,员工deptno,deptname员工交叉加入部门;105年克洛伊5工程105年克洛伊5市场营销105年克洛伊5销售103年保罗3工程103年保罗3市场营销103年保罗3销售101年约翰1工程101年约翰1市场营销101年约翰1销售102年丽莎2工程102年丽莎2市场营销102年丽莎2销售104年埃文4工程104年埃文4市场营销104年埃文4销售106年艾米4工程106年艾米4市场营销106年艾米4销售——使用employee和department表来演示半加入。>选择*员工加入部门员工deptno=部门deptno;103年保罗3101年约翰1102年丽莎2——使用employee和department表展示反加入。>选择*员工加入部门员工deptno=部门deptno;105年克洛伊5104年埃文4106年艾米6——使用employee和department表来演示横向内连接。>选择id,的名字,deptno,deptname员工加入横向(选择deptname部门在哪里员工deptno=部门deptno);103年保罗3工程101年约翰1市场营销102年丽莎2销售——使用employee和department表来演示侧加入。>选择id,的名字,deptno,deptname员工加入横向(选择deptname部门在哪里员工deptno=部门deptno);105年克洛伊5103年保罗3工程101年约翰1市场营销102年丽莎2销售104年埃文4106年艾米6