位置: 编程技术 - 正文

SQL多表连接查询实例分析(详细图文)(sql多表连接查询效率)

编辑:rootadmin
新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join 或 left outer joinSQL语句:select * from student left join course on student.ID=course.ID执行结果:左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).注:此时我们不能说结果的行数等于左表数据的行数。当然此处查询结果的行数等于左表数据的行数,因为左右两表此时为一对一关系。2、右连接 right join 或 right outer joinSQL语句:select * from student right join course on student.ID=course.ID执行结果:右外连接包含right join右表所有行,如果左表中某行在右表没有匹配,则结果中对应左表的部分全部为空(NULL)。注:同样此时我们不能说结果的行数等于右表的行数。当然此处查询结果的行数等于左表数据的行数,因为左右两表此时为一对一关系。3、完全外连接 full join 或 full outer joinSQL语句:select * from student full join course on student.ID=course.ID执行结果:完全外连接包含full join左右两表中所有的行,如果右表中某行在左表中没有匹配,则结果中对应行右表的部分全部为空(NULL),如果左表中某行在右表中没有匹配,则结果中对应行左表的部分全部为空(NULL)。二、内连接 join 或 inner joinSQL语句:select * from student inner join course on student.ID=course.ID执行结果:inner join 是比较运算符,只返回符合条件的行。此时相当于:select * from student,course where student.ID=course.ID三、交叉连接 cross join1.概念:没有 WHERE 子句的交叉联接将产生连接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。SQL语句:select * from student cross join course执行结果:如果我们在此时给这条SQL加上WHERE子句的时候比如SQL:select * from student cross join course where student.ID=course.ID此时将返回符合条件的结果集,结果和inner join所示执行结果一样。四、两表关系为一对多,多对一或多对多时的连接语句当然上面两表为一对一关系,那么如果表A和表B为一对多、多对一或多对多的时候,我们又该如何写连接SQL语句呢?其实两表一对多的SQL语句和一对一的SQL语句的写法都差不多,只是查询的结果不一样,当然两表也要略有改动。比如表1的列可以改为:Sno Name Cno表2的列可以改为:Cno CName这样两表就可以写一对多和多对一的SQL语句了,写法和上面的一对一SQL语句一样。下面介绍一下当两表为多对多的时候我们该如何建表以及些SQL语句。新建三表:表A: student 截图如下:表B: course 截图如下:表C: student_course 截图如下:一个学生可以选择多门课程,一门课程可以被多个学生选择,因此学生表student和课程表course之间是多对多的关系。当两表为多对多关系的时候,我们需要建立一个中间表student_course,中间表至少要有两表的主键,当然还可以有别的内容。SQL语句:select s.Name,C.Cname from student_course as sc left join student as s on s.Sno=sc.Sno left join course as c on c.Cno=sc.Cno执行结果:此条SQL执行的结果是学生选课的情况。

推荐整理分享SQL多表连接查询实例分析(详细图文)(sql多表连接查询效率),希望有所帮助,仅作参考,欢迎阅读内容。

SQL多表连接查询实例分析(详细图文)(sql多表连接查询效率)

文章相关热门搜索词:sql多表连接查询,怎么写过滤条件,sql多表连接查询(详细实例),sql多表连接查询(详细实例),sql多表连接查询效率,MySQL多表连接查询,sql多表连接查询(详细实例),sql多表连接查询语句,sql多表连接查询(详细实例),内容如对您有帮助,希望把文章链接给更多的朋友!

sql注入数据库修复的两种实例方法 1.第一种情况是需要将指定的注入字符串全部替换掉(仅替换注入的字符串为空)declare@delStrnvarchar()set@delStr='scriptsrc=

一个删选数据的例子,使用GROUP、DISTINCT实例解析 需求描述:一个表MyImage,列有:号码ID,路径PATH如:IDPATH1C:/1C:/1D:/2C:/2C:/3A:/3C:/4D:/写个SQL语句,返回这样的记录的ID号:相同ID存在不同PATH。如上例子,

用SQL脚本读取Excel中的sheet数量及名称的方法代码 --Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet--设置变量declare@linkedServerNamesysname='TempExcelSpreadsheet'declare@excelFileUrlnvarchar()='D:text.xlsx'--/SET--删除

标签: sql多表连接查询效率

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

上一篇:SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法(sql中的where in)

下一篇:sql注入数据库修复的两种实例方法(sql注入修补方法)

  • 外籍人士如何在中国办理延长签证
  • 一般纳税人材料销售税率
  • 公司购车购置税有优惠吗
  • 没有社保的临时工值得干吗
  • 房地产公司资本公积
  • 提供咨询服务的小规模企业是一般纳税人吗
  • 注册资本余额为100万亿元
  • 子公司计提的盈余公积如何抵消
  • 金融资产的划分标准以及相关的处理怎么做
  • 房地产中的存货是什么意思
  • 补充医疗保险应享尽享方案
  • 承包费会计处理
  • 出纳在银行领了钱出纳要怎样记帐?
  • 加油站汽油损耗多少
  • 银行存款收款凭证
  • 购入债券计入什么科目
  • 股权转让印花税减半征收政策
  • 安徽附加税优惠政策
  • 用于集体福利的进项税额转出
  • 销售蔬菜水果需要什么证件
  • 商业健康保险个人所得税扣除
  • 银行手续费回单可以作为报销
  • 建筑业购买材料入什么会计科目
  • 企业所得税抵缴欠税
  • 进口增值税可以抵扣销项税额吗
  • 未开发票的结算款怎么入账?
  • 华为手机屏幕碎了照片
  • 路由器和光猫上的无线网络名称一样吗
  • 在win10系统中,如何限制孩子玩原神游戏
  • 结算起点为
  • 税收滞纳金能不能超过本金
  • php 数字转中文
  • mac option开机
  • linux开机出现grub解决方法
  • 修改linux启动项
  • 拆除固定资产
  • 计提固定资产折旧怎么做会计科目
  • php imagettftext
  • file php
  • source map
  • thinkphp怎么用
  • 成功解决冲突的能力英语
  • 长期股权投资后续计量收到红利账务处理
  • vue路由的理解
  • php递归函数桃子一天吃一半
  • 库存商品是什么会计要素
  • vue注册用户名和密码
  • 计提工资后面附什么
  • 在ubuntu中安装win10
  • 补交以前年度环保税会计分录
  • 企业交房租没有发票能充费用吗
  • 先息后本贷款利息计算器
  • 质量扣款可以放到费用吗
  • 办理税务登记变更委托书怎么写
  • 投资收益属于资产嘛
  • 捐赠做公益
  • 园林绿化行业的市场需求是什么
  • 换货与退货
  • 筹建期的印花税怎么算
  • 外籍人员个税汇算清缴流程
  • 小规模纳税人残保金减免政策
  • 年底汇算清缴是什么
  • windows9预览版下载
  • winxp系统开机蓝屏
  • 苹果系统怎么更新
  • 电脑系统安装流程
  • windows英文版本
  • os x 10.11 el capitan中文版上手体验评测
  • macos教程
  • Linux如何开启防火墙
  • vtk下载步骤
  • android工具包
  • jQuery中ajax的load()与post()方法实例详解
  • unity游戏开发软件
  • 如何修改新建的内容
  • js框选
  • kmp算法理解
  • 中心组学习的意义?
  • 上海税务举报邮箱号
  • 什么是契税发票?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设