位置: 编程技术 - 正文

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注入修补方法)

  • 如何理解增值税中性特点
  • 跨年的预收账款怎么记账
  • 冲减暂估成本的会计分录
  • 开发票要多交费正常吗?
  • 运输费计入原材料成本吗
  • 股东退出资本金收回
  • 一次性付清的优缺点
  • 企业缴存公积金比例
  • 企业的耕地占用税怎么算
  • 退税税额要做进项税转出吗?
  • 购销合同印花税税率2023
  • 社保可以在税前扣除吗
  • 总资产报酬率可以用净利润计算吗
  • 固定资产折旧在资产负债表属于什么
  • 企业合并三种方式
  • 年终奖扣税标准计算器
  • 税务局收到企业发票
  • 工程项目管理人员任命书
  • 合同资产对应的成本
  • 销方开具红字发票流程
  • 2021最新版静疗规范指南
  • mac文件权限限制怎么解决
  • 施工企业会计制度有哪些
  • 已认证的发票退税怎么退
  • 电脑legacy是什么意思
  • 库乐队是苹果自带的嘛
  • 递延所得税资产是什么意思
  • 谷歌浏览器插件中心
  • 企业合并按合并的法律形式分类
  • 德比郡在哪
  • 琼斯的大海怪
  • 在收付实现制下,预付的下季度报刊杂志订阅费
  • 工程项目科学技术方法工具过程之间的关系
  • ChatDoctor本地部署应用的实战方案
  • linux信号的本质
  • react基础入门
  • seq命令
  • cmd 过滤命令
  • 一次性伤残就业补助金
  • 税管员管多少企业
  • 非税收入票据是什么意思
  • 现金流量表季度期初现金余额怎么填
  • 金税服务费必须交吗
  • 基本户往一般户转钱有限制吗
  • 公司租个人房屋交什么税
  • php的do while语句
  • sqlserver如何锁表
  • 生产成本月末有余额资产负债表平衡吗
  • 一般纳税人增值税减免政策2023
  • 交易性金融资产是什么意思
  • 应付职工薪酬怎么冲平
  • 申报工资金额
  • 运输费计入什么科目分录
  • 会计中制造费用包括哪些内容
  • 建筑安装业经营范围
  • 购买空调报销写什么科目的
  • 承兑汇票贴现怎么做会计分录
  • 住房公积金的账户状态是封存是什么意思
  • 转回坏账准备影响营业利润吗
  • 计算机二级考试时间2024
  • fedora os
  • centos sudoers
  • 虚拟机基本知识
  • 还原windows是什么意思
  • 内核版本能升级吗
  • msoia.exe是什么程序
  • xp系统怎样阻止脱机窗口弹出
  • 红宝书csv
  • network备份软件
  • vue轮播图插件有哪些
  • jQuery.datatables.js插件用法及api实例详解
  • android需要学什么
  • jquery判断div是否为空
  • 键盘搜索的快捷键
  • 贤彬考研,刘磊?
  • 简易计税方法开的是普票还是专票
  • shell ftp -n
  • 徐州市哪些区域封闭了
  • 电子税务网上申报平台
  • 哪些账本需要贴纸
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设