加入

適用於:檢查標記是的磚的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