若一个查询同时涉及两个表及以上的表,则称之为连接查询。

连接查询是关系数据库中最主要的查询,包括等值连接查询、自然连接查询、非等值连接查询、自身连接查询、外连接查询和复合条件查询等

1.等值于非等值连接查询

连接查询的where子句中用来连接两个表的条件成为连接条件或连接谓词,一般格式为

表名1.列名1 {比较运算符} 表名2.列名2

当连接运算符为“=”时,称之为等值连接。使用其他运算符称之为非等值连接。

连接谓词中的列名称为连接字段。连接条件中的各连接字段类型必须是可比的,但是名字不必相同

示例:

学生表:student

课程表:course

学生课程关系表:SC

例1.查询每个学生及其选修课程的情况

select student.*, sc.*
from student,sc
where student.sno = sc.sno;

关系数据库管理系统执行连接操作的可能是:首先在student表中找到第一个元祖,然后从头开始扫描SC表,找到他们共同的属性Sno相同的元祖,然后拼接起来,然后从student表的第二个元祖开始,以此类推,直到扫完整个student表

如果我们在SC表Sno上建立了索引的话,就不用每次都对SC表进行全表扫描了,而是根据Sno值通过索引找到对应的SC元祖,用索引查询SC中满足条件的元组一般会比全表扫描快

若在等值连接中把目标中重复的属性列去掉则为自然连接

例2:对例1用自然连接完成

select student.Sno, Sname,Ssex, Sage,Sdept,Cno,Grade
from student,sc
where student.sno = sc.sno;

去掉Student表和SC表共同的属性列Sno,其中一个,等值连接就变成了自然连接,上述SQL保留了student的Sno

自身连接

连接操作不仅可以在两个表之间进行,也可以是一个表与自己进行连接,称为表的自身连接。

例3:查询每一门课的间接先修课

Cno:课程号   Cname:课程名   Cpno:先行课  Ccredit:学分

分析: 比如说课程号Cno为1的课程的先行课的课程号为5,课程号为5的课程为C#,所以mysql对应的先行课为C#,以此类推

select c.Cno 课程号,c.Cname 课程名, c.Cpno 先行课程号 , s.Cname 先行课程名, s.Cpno 间接先行课程号
from Course c,course s 
where c.Cpno = s.Cno;

自身连接相当于将自身的表再拷贝一份,重命名然后将要求的查询条件添加到where子句中,即可查出结果

上述就是MySQL自身连接的简单介绍!!!

MySQL连接查询—自身连接相关推荐

  1. mysql限制查询/外连接查询和内连接查询/联合查询

    mysql查询之limit限制查询 作用:对查询结果起到限制条数的作用 语法:limit n,m n:代表起始条数值,默认为0:m代表取出的条数 应用场合:数据量过多时,起到限制作用 如图 mysql ...

  2. MySQL连接查询之内连接、左连接、右连接、自连接

    目录 一.内连接 1. 连接查询的介绍 2. 内连接查询 二.左连接 1. 左连接查询 三.右连接 1. 右连接查询 四.自连接 1. 自连接查询 一.内连接 1. 连接查询的介绍 连接查询可以实现多 ...

  3. mysql各种查询包括连接查询

    SQL查询语句大全集锦 MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA ...

  4. MySql连接查询——内连接与外连接

    引言 实际业务开发中,往往会涉及到多张表之间的数据交互,这时候单表查询已经不能满足复杂的业务需求了,所以就需要用到多表的连接查询: 连接查询主要分为以下三种: 内连接 等值连接 非等值连接 自连接 外 ...

  5. mysql连接查询 内连接查询 外连接查询

    连接查询 连接查询是将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据: t_book表: id bookName price author bookTypeId t_bookType表:  ...

  6. Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解...

    2019独角兽企业重金招聘Python工程师标准>>> 查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的 ...

  7. mysql内连接部门平均值_详解MySql基本查询、连接查询、子查询、正则表达查询_MySQL...

    查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...

  8. mysql连接查询on_MySql 连接查询中 on 和 where 的区别

    MySql 连接查询时,on 后面跟的是连接条件,再跟 and 关键就可以继续加过滤条件,这样看来是不是可以免用 where 增加过滤条件了呢?开始我也是这样以为的(老师是这么教的,且使用 on 的情 ...

  9. MySql基本查询、连接查询、子查询、正则表达查询讲解

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以 ...

最新文章

  1. 一步一步做搜索(一)
  2. Kinect开发学习笔记之(六)带游戏者ID的深度数据的提取
  3. 算法高级(10)-如何实现浏览器的前进、后退功能
  4. @postconstruct 不执行_【如何分析恶意软件在系统中执行了?】
  5. cvDilate() 图像膨胀
  6. 2022全新【趣盒】iapp源码带后台非常好看
  7. [Transformer]Mobile-Former:Bridging MobileNet and Transformer
  8. Kubernetes_MindMap
  9. 熊猫烧香版《菊花台》pk《菊花台》
  10. 《唐诗三百首》中的童年记录
  11. BugkuCTF中套路满满的题--------never give up
  12. 战列舰机械计算机,Goliath
  13. NXP JN5169 UART波特率问题
  14. 映客都是互刷礼物吗_仿映客刷礼物效果---代码优化
  15. R525万全服务器重装系统,联想万全R525 G3服务器不认硬盘修复记。
  16. 信贷风控的三种模型策略体系
  17. CSS 边框 阴影 效果
  18. [CF 757D] Felicity‘s Big Secret Revealed
  19. ASE140N04-ASEMI低压N沟道MOS管ASE140N04
  20. 手机建站软件有哪些?不懂技术也可以手机建站

热门文章

  1. 分享20个无版权的高清无码图库站
  2. 7款最流行的在线项目管理工具
  3. Android制作简单的计算器
  4. 龙ol服务器维护补偿boss,总裁酷炫狂霸拽 《龙OL》练武场深处的BOSS
  5. 读书笔记-精准努力-思考时间和精力的分配
  6. (三) u-boot 启动分析_第一阶段
  7. 【算法】Sunday算法(模式匹配)
  8. 共享网络打印机无法连接计算机,共享打印机连不上的解决方法-电脑自学网
  9. 常见的信息安全相关SCI期刊
  10. scrum要素读书笔记