1.left join即以左表为主查出左边表对应的所有数据

<pre name="code" class="sql">select * from A left join B on A.id = B.pid

2.right join以右表为主查出右边表对应的所有数据

select * from A right join B on A.rid=B.lid

3.inner join则是查出两张表中共有数据不以谁的为准

详细分析如下:

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

举例如下: 
--------------------------------------------
表A记录如下:
aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115

表B记录如下:
bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408

--------------------------------------------
1.left join
sql语句如下: 
select * from A
left join B 
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
5     a20050115    NULL     NULL

(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
--------------------------------------------
2.right join
sql语句如下: 
select * from A
right join B 
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
NULL     NULL     8     2006032408

(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
--------------------------------------------
3.inner join
sql语句如下: 
select * from A
innerjoin B 
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404

结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
--------------------------------------------
注: 
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2

说明:table1, table2参数用于指定要将记录组合的表的名称。
field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。
如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误.

sql基础知识left join,right join,inner join区别相关推荐

  1. SQL基础知识(二)

    SQL基础知识(二) 目录: 查找所有员工自入职以来的薪水涨幅情况 统计各个部门对应员工涨幅的次数总和 对所有员工的当前薪水按照salary进行按照1-N的排名 获取所有非manager员工当前的薪水 ...

  2. 大数据系列sql基础知识(史上最全,收藏起来)

    大数据系列文章,从技术能力.业务基础.分析思维三大板块来呈现,你将收获: 1. 提升自信心,自如应对面试,顺利拿到实习岗位或offer: 2.掌握大数据的基础知识,与其他同事沟通无障碍: 3. 具备一 ...

  3. 数据库基础与SQL基础知识看这篇就够了!

    一.数据库简介 1. DBMS(DataBaseManagement System,数据库管理系统)和数据库数据库Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完 ...

  4. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  5. 原创《SQL基础知识第2版》PDF高清版,限时下载!

    内容简介 <SQL基础知识第2版>是一本为新手同学特地准备的入门文档,由公众号[SQL数据库开发]原创出品. 内容涵盖了SQL基础语法的所有内容,不仅有SQL各个语法的解释,而且还附有大量 ...

  6. mysql 算子 谓词_[SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为"参数",输出值称 ...

  7. Oracle PL/SQL基础知识

    Oracle PL/SQL基础知识 过程(存储过程) 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out).通过在过程中使用输入参数,可以将数据传递到执行部分 ...

  8. 《SQL基础知识第2版》PDF高清版,限时下载!

    内容简介 <SQL基础知识第2版>是一本为新手同学特地准备的入门文档,由公众号[SQL数据库开发]原创出品. 内容涵盖了SQL基础语法的所有内容,不仅有SQL各个语法的解释,而且还附有大量 ...

  9. 小白入门SQL基础知识汇总

    小白入门SQL基础知识汇总 课程链接:link

  10. 第1章 数据库系统与SQL基础知识!什么是SQL数据库系统?SQL类型?

    第1章  数据库系统与SQL基础知识 1.1  数据库系统基本概念 数据库和SQL构成了整个数据库系统,两者一个是用来存储数据,一个是用来读取数据.本节通过简单的概念入手,让读者对数据库系统有个大概的 ...

最新文章

  1. 2017年全球光伏需求有望首次突破100吉瓦
  2. python流程控制-详解Python流程控制语句
  3. IE8 chrome 中 table隔行换色解决办法
  4. 交通流元胞自动机模拟仿真 matlab源码_元胞自动机中的时间反演
  5. yarn报错:error An unexpected error occurred: “https://registry.yarnpkg.com/-/user/org.couchdb。。。
  6. Myeclipse修改设置Default VM Arguments
  7. 单片机STM8S测量电压电路_单片机设计的胶带输送机智能模糊检测系统,准确性高,胶带寿命长...
  8. 无法完成您的itunes store的请求_iTunes 谢幕,盘点它的这 18 年
  9. 助力移动AR应用发展,阿里巴巴推出AR开放平台
  10. puttygen convert ppk file to xshell key file
  11. 计算机组成原理课程设计(附完整项目)
  12. 百度地图行政区划遮罩+描点+信息窗demo
  13. 威纶通触摸屏与仪表通讯_详解通信威纶通触摸屏与英威腾变频器的使用
  14. windows域用户切换本地用户
  15. (三十一)树莓派3B+获取ADS1115 ADC转换的数据
  16. (华为社招岗位,部门---上海海思,GTS,海思,2012,华为云):北京北京北京!
  17. 苹果手机免越狱群控无需硬件即插即用高清投屏控制操作
  18. 斜度线在CAD中你是怎么画的?
  19. Linux之nc命令详解
  20. 最最喜欢的韩庚……这个资料-----顶了~/(≧▽≦)/~!!!

热门文章

  1. azure的虚拟机怎么选_如何正确选择Azure云虚拟机?
  2. 读研期间还要不要向家里要学费生活费?
  3. 韩锋:我坚信下一轮牛市将出现在数字私有化风口上 | 《8问》
  4. android采集的视频进行旋转
  5. rtf file creation
  6. Python中的lambda函数用法
  7. 解压 asar 文件
  8. 全国计算机报名吉林,2017年9月吉林全国计算机等级考试报名通知
  9. 阿里95亿美元全资收购饿了么
  10. vue 点击置顶按钮,该条列表置顶到列表的最上面