用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

MySQL学习:left join, right join, inner join

时间:2015-01-23  来源:西部数据  作者:西部数据

本文章来给各位同学介绍我的MySQL学习:left join, right join, inner join一些用法与解决,有需要了解联合查询的朋友可参考.

表A如下:

  1. aID aNum 
  2. 1 a20110111 
  3. 2 a20110112 
  4. 3 a20110113 
  5. 4 a20110114 
  6. 5 a20110115 

表B如下:

  1. bID bName 
  2. 1 bName0111 
  3. 2 bName0112 
  4. 3 bName0113 
  5. 4 bName0114 
  6. 8 bName0118 

一、left join … on

MySQL语句:SELECT * FROM a LEFT JOIN b ON a.aID = b.bID

结果如下:

  1. aID aNum bID bName 
  2. 1 a20110111 1 bName0111 
  3. 2 a20110112 2 bName0112 
  4. 3 a20110113 3 bName0113 
  5. 4 a20110114 4 bName0114 
  6. 5 a20110115 NULL NULL 

说明:left join是以A表的记录为基础,A可以看成左表,B可以看成右表,left join是以左表为准的,换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示复合搜索条件的记录,例子中为:A.aID = B.bID.

B表记录不足的地方均为NULL.

二、right join … on

MySQL语句如下:SELECT * FROM a RIGHT JOIN b ON a.aID = b.bID

结果如下:

  1. aID aNum bID bName 
  2. 1 a20110111 1 bName0111 
  3. 2 a20110112 2 bName0112 
  4. 3 a20110113 3 bName0113 
  5. 4 a20110114 4 bName0114 
  6. NULL NULL 8 bName0118 

说明:right join 和 left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充。

三、inner join … on

MySQL语句如下:SELECT * FROM a INNER JOIN b ON a.aID = b.bID

等同于:SELECT * FROM a, b WHERE a.aID = b.bID

结果如下:

  1. aID aNum bID bName 
  2. 1 a20110111 1 bName0111 
  3. 2 a20110112 2 bName0112 
  4. 3 a20110113 3 bName0113 
  5. 4 a20110114 4 bName0114  --phpfensi.com 

说明:inner join并不以谁为基础,它只是显示符合条件的记录,LEFT JOIN操作用于在任何的FROME字句中.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门