内连接、左外连接与右外连接的区别及作用介绍

内连接、左外连接与右外连接的区别及作用介绍SQL语句当中比较难的部分就有今天要给朋友们分享的这个,innerjoin,leftjoin和rightjoin他们三个的作用以及区别是什么。顺便也会把交叉连接一起分享了。上面会分享一些基本的语法与使用,下方会详细介绍1)交叉连接,又称笛卡尔积SELECT*FROMtb1CROSSJOINtb2;//简写SELECT*FROMtb1,tb2;2)内连接//语法SELECTsome_columnsFROMtable1INNERJOINta

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

SQL语句当中比较难的部分就有今天要给朋友们分享的这个,inner join, left join 和 right join他们三个的作用以及区别是什么。

顺便也会把交叉连接一起分享了。
上面会分享一些基本的语法与使用,下方会详细介绍

1)交叉连接,又称笛卡尔积
SELECT * FROM tb1 CROSS JOIN tb2;

// 简写
SELECT * FROM tb1,tb2;
2)内连接
// 语法
SELECT some_columns
FROM table1
INNER JOIN table2
ON some conditions;

// 实操:
// 示例:根据学生基本信息登记表tb_student和学生表tb_score,使用内连接查询每个学生及其选课成绩的详细信息。
SELECT * FROM tb_student
INNER JOIN tb_score
ON tb_student.studentNo=tb_score.studentNo;
3)外连接

1、左外连接:在FROM子句中使用关键字LEFT OUTER JOINLEFT JOIN
2、右外连接:在FROM子句中使用关键字 RIGHT OUTER JOINRIGHT JOIN

// 实操:
// 示例:根据学生基本信息登记表tb_student和学生表tb_score,使用内连接查询每个学生及其选课成绩的详细信息。
SELECT * FROM tb_student
LEFT JOIN tb_score
ON tb_student.studentNo=tb_score.studentNo;
4)内连接与外连接的区别是什么?左外连接和右外连接的区别是什么?

内连接和外连接的区别:


内连接:inner join(等值连接) 只返回两个表中联结字段相等的数据


外连接:返回包括左/右表中的所有记录和右/左表中联结字段相等的记录

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


左外连接也称左连接。以左表为基表,在FROM子句中使用关键字“LEFT OUTER JOIN”或关键字“LEFT JOIN”来连接俩张表。


右外连接也称右连接。以右表为基表,在FROM子句中使用关键字“RIGHT OUTER JOIN”或关键字“RIGHT JOIN”来连接俩张表。

白话文:
1.内连接就是取交集的部分。
2.左连接就是左表全部的数据加上交集的数据。
3.右连接就是右表全部的数据加上交集的数据。
4.交叉连接就是全都要!
示例图:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179503.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • gitlab注册收不到邮件_matlab收不到邮件

    gitlab注册收不到邮件_matlab收不到邮件gitlab安装在ubuntu系统上(腾讯云上),在/etc/gitlab/gitlab.rb配置发送邮件的邮箱。gitlab_rails[‘smtp_address’]=”smtp.163.com”gitlab_rails[‘smtp_port’]=25gitlab_rails[‘smtp_tls’]=false其他配置略。之前是可以发送邮件的。…

    2022年9月12日
    0
  • HTTP协议中GET、POST和HEAD的介绍(请求方式总结)

    HTTP协议中GET、POST和HEAD的介绍(请求方式总结)

    2021年5月10日
    173
  • Android debug_Android开发在手机上调试

    Android debug_Android开发在手机上调试AndroidStudio目前已经成为开发Android的主要工具,用熟了可谓相当顺手。作为开发者,调试并发现bug,进而解决,可是我们的看家本领。正所谓,工欲善其事必先利其器,和其他开发工具一样,如Eclipse、Idea,AndroidStudio也为我们提供了强大的调试技巧,今天我们就来看看AndroidStudio中有关调试的技巧。首先,来看看Androidstudio中为我们…

    2022年10月15日
    0
  • MyBatis 执行动态 SQL

    MyBatis 执行动态 SQL应老婆要求写的这篇博客。大家基本上都知道如何使用MyBatis执行任意SQL,使用方法很简单,例如在一个XXMapper.xml中:${_parameter}你可以如下调用:sqlSession.selectList(“executeSql”,”select*fromsy

    2022年6月23日
    29
  • Pycharm2022激活-激活码分享

    (Pycharm2022激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0HKLM1UCCY-eyJsaWNlb…

    2022年3月31日
    979
  • ASP.net错误:Control’ctl00_ctl00_ContentPlaceHolder2[通俗易懂]

    ASP.net错误:Control’ctl00_ctl00_ContentPlaceHolder2[通俗易懂]表现:当然也可能是另外一个什么控件必须放置在Form里边。原因:如果是普通情况,当然直接加一个Form就可以了,但如果是使用了masterpage,这个错误的真正原因是在masterpage中ContentPlaceHolder被错误放置到<form>外面了:<formid=”form1″runat=”server”&g…

    2022年7月13日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号