加入
适用于:砖的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(,…])}
参数
左边的表引用的加入。
右边表引用的加入。
join_type
连接类型。
(内部)
返回匹配的行值在两个表引用。默认的连接类型。
左(外)
从左表引用和返回所有值匹配的值正确的表引用,或附加
零
如果没有匹配。它也被称为左外连接。正确的(外)
从正确的表引用和返回所有值匹配值从左表引用,或附加
零
如果没有匹配。它也被称为右外连接。完整的(外)
返回所有值关系,附加
零
值没有匹配。它也被称为全外连接。(左)半
从左边的表引用返回值匹配正确的。它也被称为左半连接。
(左)反
从左表引用返回值没有配以正确的表引用。它也被称为左反连接。
交叉连接
返回两个的笛卡儿积的关系。
自然
从两个关系将隐式地指定行匹配在平等与匹配所有列的名字。
join_criteria
指定如何结合行从一个表引用另一个表的行参考。
在boolean_expression
的布尔表达式的返回类型指定行从这两个关系如何匹配。如果结果是正确的行被认为是一场比赛。
使用(column_name[…])
匹配行通过比较平等的列的列表
column_name
在这两种关系必须存在。使用(c1,c2)
是一个同义词在rel1.c1=rel2.c1和rel1.c2=rel2.c2
。
一个临时的名称和一个可选的列标识符列表。
例子
——使用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年克洛伊5零103年保罗3工程101年约翰1市场营销102年丽莎2销售104年埃文4零106年艾米6零——使用employee和department表来演示正确的连接。>选择id,的名字,员工。deptno,deptname从员工正确的加入部门在员工。deptno=部门。deptno;103年保罗3工程101年约翰1市场营销102年丽莎2销售——使用employee和department表展示完整的加入。>选择id,的名字,员工。deptno,deptname从员工完整的加入部门在员工。deptno=部门。deptno;101年约翰1市场营销106年艾米6零103年保罗3工程105年克洛伊5零104年埃文4零102年丽莎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年克洛伊5零103年保罗3工程101年约翰1市场营销102年丽莎2销售104年埃文4零106年艾米6零