2013-03-13 130 views
2

我聽說有3種連接類型在mysql或sql中有多少種類型的連接

我不確定確切的名稱。谷歌搜索已經變成了各種各樣的術語,如:

交叉連接,左連接,右連接,內連接,外連接,自連接....

誰能告訴我有多少加盟總之存在於MySQL中。

+0

你知道多少?你有谷歌嗎?這裏是你的鏈接。 http://www.tutorialspoint.com/sql/sql-using-joins.htm – 2013-03-13 05:15:18

+0

三我know.left加入,右加入,加入 – PSR 2013-03-13 05:16:20

+0

http://dev.mysql.com/doc/refman/5.6/en/ join.html。您可以計算所有可能的結構。 – 2013-03-13 05:16:41

回答

5

的連接是

1. Inner Join or Equi join 
2. Self Join 
2. Outer Join 
    outer join is again classified into 
    a) Left Outer Join 
    b) Right Outer Join 
    c) Full Outer Join 
3. Cross join 
+0

和「連接」通常意味着一個內部連接 – 2013-03-13 05:20:54

3

請參閱 SQL JOIN:

的JOIN關鍵字在SQL語句中使用兩個或多個表中查詢數據,基於這些表中某些列之間的關係。

數據庫中的表格通常與鍵相互關聯。

主鍵是一列(或多列的組合),每行有一個唯一值。表中的每個主鍵值都必須是唯一的。其目的是將數據綁定在一起,而不必重複每個表中的所有數據。

不同的SQL連接

  1. JOIN:返回行的時候有兩個表
  2. LEFT JOIN中至少有一個匹配:左表返回所有行,即使是在正確的不匹配表
  3. RIGHT JOIN:右表中返回所有行,即使在左表
  4. FULL不匹配連接:返回行的時候出現在表中的一個匹配

http://w3schools.com/sql/sql_join.asp

0

MySql的13.2.9.2. JOIN Syntax

join_table: 
    table_reference [INNER | CROSS] JOIN table_factor [join_condition] 
    | table_reference STRAIGHT_JOIN table_factor 
    | table_reference STRAIGHT_JOIN table_factor ON conditional_expr 
    | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition 
    | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor 

SQL服務器FROM (Transact-SQL)

<joined_table> ::= 
{ 
    <table_source> <join_type> <table_source> ON <search_condition> 
    | <table_source> CROSS JOIN <table_source> 
    | left_table_source { CROSS | OUTER } APPLY right_table_source 
    | [ (] <joined_table> [) ] 
} 
<join_type> ::= 
    [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ] 
    JOIN