位置: 编程技术 - 正文

SQL的Join使用图解教程(sql,join)

编辑:rootadmin
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。 假设我们有两张表。 Table A 是左边的表。 Table B 是右边的表。 其各有四条记录,其中有两条记录是相同的,如下所示: 下面让我们来看看不同的Join会产生什么样的结果。

SELECT * FROM TableAINNER JOIN TableBON TableA.name = TableB.name

id name id name-- ---- -- ----1 Pirate 2 Pirate3 Ninja 4 NinjaInner join产生的结果集中,是A和B的交集。

SELECT * FROM TableAFULL OUTER JOIN TableBON TableA.name = TableB.name

id name id name-- ---- -- ----1 Pirate 2 Pirate2 Monkey null null3 Ninja 4 Ninja4 Spaghetti null nullnull null 1 Rutabaganull null 3 Darth VaderFull outer join 产生A和B的并集。但是需要注意的是,对于没有匹配的记录,则会以null做为值。

SELECT * FROM TableALEFT OUTER JOIN TableBON TableA.name = TableB.name

id name id name-- ---- -- ----1 Pirate 2 Pirate2 Monkey null null3 Ninja 4 Ninja4 Spaghetti null nullLeft outer join 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。

SELECT * FROM TableALEFT OUTER JOIN TableBON TableA.name = TableB.nameWHERE TableB.id IS null

id name id name-- ---- -- ----2 Monkey null null4 Spaghetti null null产生在A表中有而在B表中没有的集合。

SELECT * FROM TableAFULL OUTER JOIN TableBON TableA.name = TableB.nameWHERE TableA.id IS nullOR TableB.id IS null

id name id name-- ---- -- ----2 Monkey null null4 Spaghetti null nullnull null 1 Rutabaganull null 3 Darth Vader产生A表和B表都没有出现的数据集。

还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下: 这个笛卡尔乘积会产生 4 x 4 = 条记录,一般来说,我们很少用到这个语法。但是我们得小心,如果不是使用嵌套的select语句,一般系统都会产生笛卡尔乘积然再做过滤。这是对于性能来说是非常危险的,尤其是表很大的时候。

推荐整理分享SQL的Join使用图解教程(sql,join),希望有所帮助,仅作参考,欢迎阅读内容。

SQL的Join使用图解教程(sql,join)

文章相关热门搜索词:sql几种join用法,sql语句join on用法,sql的join语句,sql,join,sql各种join用法详解,sql各种join用法详解,sqljoin的用法,sql,join,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL中JOIN和UNION区别、用法及示例介绍 1.JOIN和UNION区别join是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集

关于SQL中CTE(公用表表达式)(Common Table Expression)的总结 一.WITHAS的含义WITHAS短语,也叫做子查询部分(subqueryfactoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,

SQL临时表递归查询子信息并返回记录的代码 declare@Q_IDuniqueidentifierset@Q_ID=dbo.uf_GetParamValueByName(@Params,'@指标ID');declare@QAExp_IDchar()--指标属性公式IDset@QAExp_ID='3D2B8F3F-0B7E-FD-9B-FC'declare@temp_qidta

标签: sql,join

本文链接地址:https://www.jiuchutong.com/biancheng/348166.html 转载请保留说明!

上一篇:SQL Transcation的一些总结分享

下一篇:SQL中JOIN和UNION区别、用法及示例介绍(sql union和join区别)

  • 安徽增值税发票查询系统
  • 视同销售的销项税怎么计算?
  • 专项工程支出计入什么科目
  • 本月未记账凭证是什么意思
  • 新公司开账户需要多少钱
  • 金税盘没有及时清卡怎么办
  • 利润表盈利结构分析
  • 权益筹资额计算公式
  • 境外企业所得税税率
  • 印花税计入哪个费用
  • 预售房款预缴增值税
  • 购买加油卡有优惠吗
  • 接受捐赠的材料会计分录怎么写
  • 公司办理食品许可证
  • 短期借款的会计凭证
  • 亏损企业净资产负债率
  • 哪些业务需要编写收款凭证
  • 地税逾期申报怎么处理
  • 农产品收购发票上的买价含税吗
  • 印花税实收资本纳税义务发生时间
  • 什么是城镇土地使用税
  • 如何找确定劳动关系的证据
  • 以前年度损益调整在利润表中怎么填
  • 教您电脑网速很慢怎么办
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 收到生育津贴的短信是真的吗
  • 老板垫付的货款会计分录
  • 最小的手机有多大
  • 给php开发者的编程代码
  • thinkphp5教程
  • 哪些情况下公司不能辞退员工
  • dmesg | grep tty
  • 资产支出加权平均数和一般借款本金加权平均数
  • 将织梦dedecms转换到wordpress
  • db2udb
  • 社会团体会费票据查询
  • 年金终值系数是指已知( ),求终值
  • 工会记账凭证怎么记
  • 购买员工团体意外险条款
  • 外购免税农产品用于职工福利
  • 单位收风险金违法吗
  • 收到残障金退回怎么处理
  • 事业单位的财政拨款怎么做账
  • 个税 退手续费
  • 货物赔偿款怎么做账
  • 买车能不交税吗
  • 公司新产品研发上市的意义和价值
  • 外购的商品用于生产
  • 资本金与注册资本的关系
  • 集资建房有维修基金吗
  • 招标付款条件及比例
  • 如何办理公司注册地址变更
  • sql中的where in
  • Microsoft SQLServer的版本区别及选择
  • sqlserver连接失败怎么办
  • 遗失的美好什么意思?
  • ghost还原文件
  • win8.1评估版
  • win7切换输入法的快捷键怎么设置
  • wind8系统怎么清除所有东西 恢复出厂
  • win7系统如何将插孔设置为ac97前面板
  • 电脑自带win8是装win7还是win10
  • win10预览版和正式版区别
  • cocos2d怎么用
  • cocos2dx官方教程
  • 手游接入
  • linux中vi命令是什么意思
  • opengl和openglskia
  • bootstrap要学吗
  • unity3d bim
  • jquery全选和全不选效果
  • linux查看远程服务是否开启
  • 深入解析抑郁症:什么是它的表现?别小看它的危害程度!
  • 基于javascript的毕业设计
  • bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory
  • js进行表单验证的目的是什么
  • position属性含义
  • 湖北省税务系统欠税管理工作指南
  • 异地可以打印银行清单吗?
  • 车辆大本怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设