数据表的连接有:

1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

2、外连接: 包括

(1)左外连接(左边的表不加限制)

(2)右外连接(右边的表不加限制)

(3)全外连接(左右两表都不加限制)

3、自连接(连接发生在一张基表内)

select a.studentno, a.studentname, b.classname

from students a, classes b

where a.classid(+) = b.classid;

STUDENTNO STUDENTNAM CLASSNAME

---------- ---------- ------------------------------

1 A     一年级一班

2 B     一年级二班

一年级三班

以上语句是右连接:

即"(+)"所在位置的另一侧为连接的方向,右连接说明等号右侧的所有

记录均会被显示,无论其在左侧是否得到匹配。也就是说上例中,无

论会不会出现某个班级没有一个学生的情况,这个班级的名字都会在

查询结构中出现。

反之:

select a.studentno, a.studentname, b.classname

from students a, classes b

where a.classid = b.classid(+);

STUDENTNO STUDENTNAM CLASSNAME

---------- ---------- ------------------------------

1 A     一年级一班

2 B     一年级二班

3 C

则是左连接,无论这个学生有没有一个能在一个班级中得到匹配的部门号,

这个学生的记录都会被显示。

select a.studentno, a.studentname, b.classname

from students a, classes b

where a.classid = b.classid;

这个则是通常用到的内连接,显示两表都符合条件的记录

总之,

左连接显示左边全部的和右边与左边相同的

右连接显示右边全部的和左边与右边相同的

内连接是只显示满足条件的!

sql左右连接的区别相关推荐

  1. SQL内连接、左连接、右连接的区别

    SQL内连接.左连接.右连接的区别 前言:目前研究生已经毕业,刚刚找到了一份BA数据分析师的工作.目前的工作内容主要是指标的理解和使用SQL将代码写出来.在这里经常用到内连接(inner) join和 ...

  2. 什么是SQL以及内连接与左连接的区别

    SQL作为咱们程序员必备技能之一,无论是初级程序员还是高级程序员,SQL已经是各大公司招聘条件里的必选项,为什么SQL对于咱们来说如此重要呢?在回答这个问题之前,我们先搞懂以下几个问题. 第一个问题, ...

  3. sql左连接、右连接、内连接有什么区别?

    sql左连接.右连接.内连接有什么区别? 总结:语法公式不同.基础表不同.结果集不同. 一.语法公式不同: 左连接: 左连接的关键字是left join,语法公式为select *from dave ...

  4. sql左外连接和右外连接的区别

    两个表: A(id,name) 数据:(1,张三)(2,李四)(3,王五) B(id,name) 数据:(1,学生)(2,老师)(4,校长) 左连接结果: select A.*,B.* from A ...

  5. Access和sql server的语法区别

    Access和sql server的语法区别 一.有区别的函数及解决方案  以下所示的解决方案中的函数定义在untDataBase单元中TAdoConn类的方法中. 序号 简述 Access语法 Sq ...

  6. SQL表连接,排序输出

    数据库练习题: SQL表连接 区别on和where: 1.on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. 2.where条件是在临时表生成好后,再对临时表进行 ...

  7. 【转】外连接&全连接的区别

    惭愧啊------学了这么久的数据库和sql语句,竟然没弄明白外连接和全连接的区别.引用文章一篇,文章说的很清楚. 计算机就是这样,不多读书就是不行,有些东西不是自己能能想出来的.   文章引用自:h ...

  8. SQL多表查询:SQL JOIN连接查询各种用法总结

    在实际应用中,大多的查询都是需要多表连接查询的,但很多初学SQL的小伙伴总对各种JOIN有些迷糊.回想一下,初期很长一段时间,我常用的似乎也就是等值连接 WHERE 后面加等号,对各种JOIN也是不求 ...

  9. SQL左连接数据变少

    前一段时间,同学写sql碰到一个问题:两段sql连接看似一样,但是条数却不一样.原因是在左连接之后的where条件对数据进行了筛选,使得数据变少了.两段sql如下: select count(1)fr ...

最新文章

  1. java 多选列表框_快逸报表:填报中的下拉多选列表框
  2. linux内核源码剖析 博客,【Linux内存源码分析】页面迁移
  3. beta版本项目冲刺
  4. python面向对象变成(1):类的基本概念
  5. python读取json数据教程_Python教程之解析json数据
  6. java项目开发实例基于javaweb+mysql数据库实现的宠物领养|流浪猫狗网站含论文+开题报告
  7. 深度置信网络学习总结
  8. 深度学习标签制作简易Python代码
  9. easyar android 开发,【EasyAR学习】安装Android SDK
  10. 「程序猿 DD」星球活动第一期,将在 7 月 9 日晚 20:00 整开放!
  11. oracle的路由器,如何充分使用Oracle?
  12. 红杉官网已删长文:伴随SBF一路走来的救世主情结(上)
  13. 使用Nginx搭建直播服务器(nginx-rtmp-module)
  14. Android动画设置
  15. 中国健康与营养调查数据(chns)
  16. 3A+ISP之AE篇
  17. 动易开源了,是不是说动易也免费了?
  18. HTML颜色渐变效果
  19. Vue3中Element-Plus的el-upload清空上传文件(最简单明了)
  20. Android studio 五子棋

热门文章

  1. 华为余承东鸿蒙系统随时可以上线,华为发布鸿蒙系统,余承东称随时可替换安卓...
  2. linux proc io,在/proc/[pid]/io 中,理解计数器_linux-kernel_开发99编程知识库
  3. android 透明主题 crash,Android 8.0 的填坑(透明的activity崩溃)
  4. mysql数据库kj_Python3.7和数据库MySQL 8.0.12 数据库SQLite3连接(三)
  5. 如何为prel语言加载模块_WebAssembly 系列(第四部分)- 创建和使用WebAssembly模块...
  6. 65279 php,php头部#65279;去除bom执行文件
  7. maya mel uf8_如何在maya中创建uv 的mel语言
  8. numpy二维数组改变某些数_机器学习:Python常用库——Numpy库
  9. tensorflow2.0 图像处理项目_航天泰坦丨国产自主遥感图像处理软件当自强
  10. 2017.3.6 地精部落 思考记录