2013-03-13 137 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