(安西) 发表于 2016-10-21 00:38:19

Mysql之inner join,left join,right join详解

  首先借用官方的解释下:
  inner join(等值连接):只返回两个表中联结字段相等的行;
  left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录;
  right join(右联接):返回包括右表中的所有记录和左表中联结字段相等的记录。
  比如我们有xs、cj两个表
  xs表                                 cj表
  ---------------                  ----------------------
  id     name                     id      score
  1      张三                      1       96
  2      李四                      2       80
  3       86
  

SELECT * FROM `xs` INNER JOIN `cj` ON xs.id = cj.id   

   返回
  ------------------------
  id   name   id   score

1   张三   1   96

2   李四   2   80
  -----------------------
  

SELECT * FROM `xs` LEFT JOIN `cj` ON xs.id = cj.id

   返回
  ------------------------
  id   name   id   score

1   张三   1   96

2   李四   2   80
  -----------------------
  

SELECT * FROM `xs` RIGHT JOIN `cj` ON xs.id = cj.id

   
  返回
  id       name    id    score

1       张三      1      96

2       李四      2      80

NULL    NULL  3      86
  
  其中还有inner join还有另外一种写法,两者是等价的,都是等值连接
  

SELECT * FROM `xs`,`cj` WHERE xs.id = cj.id

   
  
  
  
  
  
  
  
  
页: [1]
查看完整版本: Mysql之inner join,left join,right join详解