位置: 编程技术 - 正文

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年
  • 西部大开发政策2020到期
  • 补记去年收入分录
  • 现金流量表中现金流量净额怎么算
  • 个人所得税生产经营所得投资者减除费用
  • 资产处置损益在企业所得税汇算时如何填列
  • 年末结转本年利润后再结账吗
  • uv价值是怎么计算公式
  • 增值税预缴税款表项目编号是什么
  • 1697509557
  • 社保打的生育保险怎么做账
  • 个人出租住房需要交城镇土地使用税吗
  • 2019年固态硬盘价格
  • 股份制企业的特征主要是什么
  • 收购子公司股权现金流
  • php中字符串函数
  • 完工产品成本怎么算
  • win10蓝牙搜索不到ps4手柄
  • Pycharm安装库失败
  • 差额征税账务处理规定
  • 缴纳以前年度房产税会计分录
  • 普莱斯德
  • 客户多付的货款叫什么
  • vue foreach is not a function
  • 不需要支付的应付款情况说明
  • 银行存款余额调节表是不是原始凭证
  • es6面试题promise
  • php设置目录权限
  • 客运收费标准
  • 股票的溢价是怎么回事
  • 一般纳税人是否享受减免政策
  • java中double是什么数据类型
  • 挂靠设计公司费用标准怎么记账
  • 电子发票会自动上传吗
  • 公司购烟酒怎么入账
  • 过账怎么操作
  • 开发票,对方收取税点,如何计算?
  • 用承兑付货款怎么做会计
  • 哪些合同需要缴税
  • 银行存款核算如何操作
  • 合并报表编制方法有几种
  • 冲减以前年度未开票收入开票如何申报小规模纳税人
  • 解析sql语句
  • win7哪年停止更新
  • 微软宣布9款游戏退出XGP订阅
  • mac怎么设置默认打开方式
  • sbserv.exe - sbserv是什么进程 有什么用
  • linux默认文件大小
  • win8怎么没有无线网图标不见了
  • windows批量处理命令
  • javascript的
  • android用eclipse
  • Error: String types not allowed (at 'layout_gravity' with value 'bottom/center_horizontal').
  • 深入理解javascript特性.pdf
  • django 软删除
  • unity3d怎么用
  • shell for遍历
  • javascript例题
  • Android自定义动画
  • jQuery判断checkbox选中状态
  • 深圳国税电子税务局网上办税服务厅
  • 个人所得税完税证明网上打印
  • 贵州网上税务局官网登录
  • 上海市网上税务局登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设