4种连接查询的用法

关于4种连接查询的用法

1.内连接查询(INNER JOIN)

内连接是一种最常用的连接类型。内连接查询实际上是一种任意条件的查询。使用内连接时,如果两个表的相关字段满足连接条件,就从这两个表中提取数据并组合成新的记录,也就是在内连接查询中,只有满足条件的元组才能出现在结果关系中。

案例:
假如存在以下两个表
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
要查询学号为S3的学生的课程名与任课教师名

由题可知,我们要查找的课程名和任课教师名在C表中,然而要判断学号为S3的同学,学号在SC表中,所以此时,我们需要将表进行内连接之后再进行判断

SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#==C.C# AND SC.S#=S3;

2.外连接(OUTER JOIN)

什么是外连接查询?

连接查询将查询多个表中相关联的行,内连接时,返回查询结果集合中的仅是符合查询条件和连接条件的行。但有时需要包含没有关联的行中数据,即返回查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左连接)、右表(右连接)或两个边表中的所有数据行。外连接分为左外连接和右外连接;
在这里插入图片描述
外连接分为左外连接和右外连接,那么左外连接和右外连接有什么区别呢?

左外连接和右外连接的区别

内连接是只查询当两个字段都相同时的内容
LEFT (OUTER)JOIN(左连接):即左表的内容全部查询出来,右表中两个字段相等,符合条件的才会被查询出来

RIGHT (OUTER)JOIN(右连接):与左外连接相反,右表的内容全部查询出来,左表中两个字段相等,符合条件的才会被查询出来

3.子查询

什么是子查询?

子查询是指一个查询语句嵌套在另一个查询语句内部的查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。子查询中常用的操作符有ANY(SOME)ALL、IN、EXISTS。子查询可以添加到SELECT、UPDATEDELETE语句中,而且可以进行多层嵌套。子查询中也可以使用比较运算符,如“<”、“<=”、“>”、“>=”和“!=”等。

4.联合查询(UNION)

什么是连接查询?

利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时两个表对应的列数和数据类型必须相同。各个SELECT语句之间使用UNION或UNION ALL关键字分隔。UNION不使用关键字ALL执行时,删除重复记录,所有返回行都是唯一的;使用关键字ALL的作用是不删除重复行也不对结果进行自动排序。

如果你喜欢我写的文章的话,记得留下一个免费的赞哦~
你的支持是我坚持下去的动力~~

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漩涡编程,一鸣惊人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值