SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)

最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想~
现在在这写写关于它们的作用
假设有如下表:

一个为投票主表,一个为投票者信息表~记录投票人IP及对应投票类型,左右连接实际说是我们联合查询的结果以哪个表为准~
1:如右接连 right join 或 right outer join:

我们以右边voter表为准,则左表(voteMaster)中的记录只有当其ID在右边(voter)中存在时才会显示出来,如上图,左边中ID为3.4.5.6因为这些ID右表中没有相应记录,所以没有显示!
2:因此我们自然能理解左连接 left join 或者 left outer join

可见,现在右边中ID在中存在时才会显示,当右边中没有相应数据时则用NULL代替!
3:全连接 full join 或者 full outer join,为二个表中的数据都出来,这里演示效果与上一样!
4:内连接 inner join 或者 join;它为返回字段ID同时存在于表voteMaster 和 voter中的记录

5:交叉连接(完全连接)cross join 不带 where 条件的
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。(table1和table2交叉连接产生6*3=18条记录)

等价select vm.id,vm.voteTitle,vt.ip from voteMaster as vm,voter as vt

6:自连接。在这里我用我前段时间一个电力项目中的例子(改造过)
如下表:

这是一个部门表,里面存放了部门及其上级部门,但都放在同一张表中,我们假设现在需要用SQL查询出各部门及其上级部门!就如何做,
当然,不用自连接也一样,可以如下:

我们达到预期目的!在这个查询中使用了一个子查询完成对上级部门名的查询,如果使用自连接,那么结构上感觉会清晰很多。

是不是也同样完成了功能呢,这里除了使用自连接外,还使用了左连接,因为省电力没有上级部门,他是老大,如果使用内连接,就会把这条记录过滤掉,因为没有和他匹配的上级部门。
自连接用的比较多的就是对权形结构的查询!类似上表!

1
0

0

(请您对文章做出评价)

SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)相关推荐

  1. SQL 连接 JOIN 例解

    SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想- 现在在这写写关于它们的作用 假 ...

  2. SQL - SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)[转]...

    最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想- 现在在这写写关于它们的作用 假设有如下表: 一个为投票主表,一个为投票者信息表-记录投票人IP及对应投票类型,左右 ...

  3. mysql左连接sql语句详解_SQL各种连接查询详解(左连接、右连接..)

    一.交叉连接(cross join) 交叉连接(cross join):有两种,显式的和隐式的,不带on子句,返回的是两表的乘积,也叫笛卡尔积. 例如:下面的语句1和语句2的结果是相同的. 语句1:隐 ...

  4. 【MySQL】MySQL 的连接(内、左、右、全)

    一.表 的连 结 1.目的:减少数据的冗余 2.核心:分类 ***连接时至少要两张表,连接主要有内连接(inner join).左外连接(left outer join).右外连接(right out ...

  5. 牛客SQL练习题笔记 -- 通配符%和以扩充表的角度理解内连接

    sql28 1. 题目描述 film表 字段 说明 film_id 电影id title 电影名称 description 电影描述信息 CREATE TABLE IF NOT EXISTS film ...

  6. 使用左 右 全 内连接及使用where条件语句的区别

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 使用左. ...

  7. SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接

    作者:初行 – 博客园 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表:                                         stu表:       ...

  8. 关于SQL语句的左连接和右连接,内连接和外连接的区别

    数据库版本为 mysql  Ver 14.14 Distrib 5.6.26, for Win64 (x86_64) 首先举个例子:(左连接和右连接) 现在我们有俩张表中内容如下. 我们使用左连接查询 ...

  9. sql的左连接,右连接,内连接

    环境: SQL工具(如Navicat,SQLyog) MySQL驱动 全局总结: 左连接:关注左边,右边没有就为空. 右连接:关注右边,左边没有就为空. 内连接:返回交集 必备: 两张或多张表格 一, ...

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

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

最新文章

  1. “贝叶斯网络之父”:不透明机器学习的局限性
  2. Hystrix之外健壮微服务的新选择:Sentinel 发布首个生产版本
  3. python selenium对浏览器自动截图
  4. 练手CF3-C - Wormhouse
  5. python selenium post请求_工作随笔——selenium支持post请求,支持自定义header
  6. 高等组合学笔记(十一):分拆与Gauss二项式系数,恒等式与展开式
  7. ffmpeg拉流设置暂停_解决ffmpeg拉流转发频繁丢包问题max delay reached. need to consume packet...
  8. 编辑器安卓手机版_手机上最专业的视频编辑器,内购版!
  9. 【Python爬虫+js逆向】使用Python爬取腾讯漫画的逆向分析(典型签名验证反爬虫的解决方案)——以腾讯动漫《一人之下》第一话为例
  10. github windows系统监控_辅助Windows 自带的微软五笔字型输入法,解决长期存在的7大问题...
  11. 科思创为全新概念车丰田LQ提供可持续解决方案
  12. C++随机设置壁纸小软件
  13. U8 ActiveX 部件不能创建对象
  14. 如何在微信公众号正文中添加附件?
  15. 我TM究竟应该选哪个版本的MySQL?!
  16. Hive 的insert into 和 insert overwrite
  17. 随机森林-sklearn.ensemble.RandomForestRegressor
  18. 记录Access deined: authorize failure的坑
  19. python绘制剖面图_Python气象绘图教程—(十九)剖面图
  20. Python+pyc文件编译和运行

热门文章

  1. 哪些专业软件可以测试cpu,常用的正经CPU测试软件有哪些
  2. 如何通过Filter过滤敏感词汇
  3. MATLAB GUI中显示数学公式
  4. SSM汽车租赁管理系统毕业设计源码052158
  5. 使用UOS微信桌面版协议登录,wechaty免费版web协议又可以用了
  6. 用python实现传染病模型传染病模型
  7. U盘量产U盘扩容和U盘芯片检测
  8. SpringMVC工作原理与工作流程
  9. 各种常用电子元器件的识别方法
  10. 深度学习:卷积神经网络(详解版)