码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 联表查询之交叉连接、内、外连接


    目录

    1、交叉连接(笛卡尔积)

    2、内连接

    2.1 显示内连接(inner join)

    2.2 隐示内连接

     2.3 内连接的练习

     2.3.1 查询第一或者二学期中所有的学生

    2.3.2 查询第一和第二期所有的学生

     2.3.3 查询每个班级下的学生总数,并且按照学生总数升序在(降序)排列

     2.3.4 查询班级总人数>2的班级,并且人数降序排列

     3、外连接

    3.1 左外连接(left outer join,outer可以省略)

    3.1.1 左外连接练习

    3.1.2 所需表(学生表和班级表)

    ​编辑

    3.1.3 查询结果与内连接对比 

    ​编辑

    3.2 右外连接

    ​编辑 3.2.1 右外连接练习

    ​编辑 3.2.2 所需数据

    ​编辑

    3.2.3 查询结果

    3.2.4 如果删掉外键之后再插入一条数据(第八条)然后右连接的查询结果?

    3.3 全外连接(union)

    3.3.1 运行结果


    1、交叉连接(笛卡尔积)


    三条查询语句 :前两条是单表查询,然后就是交叉查询

      

     注:第一个是单表,后面是交叉表(显得有点冗余)

    2、内连接


    2.1 显示内连接(inner join)


     注:,如图所示这个INNER是可以不用写的,查询结果也是也一样的

    2.2 隐示内连接


     2.3 内连接的练习


     2.3.1 查询第一或者二学期中所有的学生


     注:虽然输入中文也可以查询,但不推荐,因为这个名称有可能会发生变化  

    2.3.2 查询第一和第二期所有的学生


    注:这个是错误的查询写法,先and,在or,那么就会这样

     而显得数据冗余了 

    ========================================================================= 

    注:加个括号一起统计,就不会先查and,在查or了 。(第一个是隐示,第二个是显示)

     2.3.3 查询每个班级下的学生总数,并且按照学生总数升序在(降序)排列


    注:这是点击美化sql之后的格式

     2.3.4 查询班级总人数>2的班级,并且人数降序排列


    注:先分组(group),在筛选(having) 

     3、外连接


    3.1 左外连接(left outer join,outer可以省略)


    3.1.1 左外连接练习


    3.1.2 所需表(学生表和班级表)


     

    3.1.3 查询结果与内连接对比 


    1. 

     

    2.

     

     

    3.

     

    注:查询结果1是左外连接,2是内连接 ,3.以左表为主的话,应该有四个学期,但是学生表只有第一和第二,所有返回kong

    3.2 右外连接


     3.2.1 右外连接练习


     3.2.2 所需数据


    注:需要多家一条数据并且class_id为空(第七条)

    3.2.3 查询结果


     

    注:为null,是因为没有找到对于的id,如果想查没有班级的学生,就在后面加个

    and class-id = null即可

     

     

    3.2.4 如果删掉外键之后再插入一条数据(第八条)然后右连接的查询结果?


     

     

     

    注:查询结果以右边为主,所有可以看到class_id,但是坐标的内容为null,那么如果再次使用内连接,还是一样没有匹配就不显示

     

     

    3.3 全外连接(union)


     

     

     注:mysql是无法实现全外连接,但是可以通过union进行 

    3.3.1 运行结果


     

     

  • 相关阅读:
    多策略协同改进的阿基米德优化算法及其应用(Matlab代码实现)
    【PyTorch】Transforms基本使用
    UE5.0.3版本 像素流送 Pixel Streaming
    淘宝sku详情
    华为主题开发分享-在windows 11操作系统上识别不到P50等华为手机的解决方案
    题目0099-计算堆栈中的剩余数字
    两种PDF密码都忘记了,怎么办?
    php万年历源代码!源代码![上一年、上一月、下一月、下一年、附加当天日期加背景颜色]-私聊源码
    微信小程序——语法篇
    KVM虚拟化介绍和安装使用方法
  • 原文地址:https://blog.csdn.net/qq_62881798/article/details/128032931
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号