联表查询之交叉连接、内、外连接

news2024/9/22 15:41:20

目录

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 运行结果


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

目标检测 YOLO5部署安装测试

一、下载模型 yolov5: 同步更新官方最新版 Yolov5 ,发行版提供模型下载地址 (gitee.com)https://gitee.com/monkeycc/yolov5?_fromgitee_search二、导入需要的包 pip install -r requirements.txt -i https://pypi.douban.com/simple/三、下载模型yolov5s.pt放到根…

Java进阶——多线程基础

文章目录线程基础1、线程介绍1.1、线程相关概念2、线程基本使用创建线程的两种方式:2.1、 继承Thread 类,重写run方法2.2、实现Runnable接口,重写run方法2.3、多线程的简单演示:2.4、继承Thread 和实现Runnable 的区别2.5、线程终…

基于鲸鱼算法优化的lssvm回归预测-附代码

基于鲸鱼算法优化的lssvm回归预测 - 附代码 文章目录基于鲸鱼算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于鲸鱼算法优化的LSSVM4.测试结果5.Matlab代码摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对…

行列式基础

进阶版:(努力更新中) 二阶行列式 我们先来看看二元一次方程。 {a1,1x1a1,2x2b1a2,1x2a2,2x2b2\left\{ \begin{matrix} a_{_{1,1}} x_{_1} a_{_{1,2}} x_{_2} b_{_1} \\ \\ a_{_{2,1}} x_{_2} a_{_{2,2}} x_{_2} b_{_2} \end{matrix} \ri…

[附源码]计算机毕业设计葡萄酒销售管理系统论文Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【算法篇】利用堆高效解决大数据量时TOP-K问题

Top-k问题1.问题描述2.分析问题3.思路4.复杂度分析5.代码实现6.总结堆相关博客: 堆1.问题描述 TOP-K问题:即求数据结合中前K个最大的元素或者最小的元素,一般情况下数据量都比较大。 比如:专业前10名、世界500强、富豪榜、游戏中前…

C语言第十九课:补充知识——函数栈帧的创建与销毁

目录 前言: 一、寄存器: 二、函数栈帧的创建与销毁: 1.main函数函数栈帧开辟的准备: 2.main函数函数栈帧的开辟: 3.Add函数函数栈帧的开辟: 4.Add函数函数栈帧的销毁: 5.main函数函数栈帧的销…

Linux多线程

Linux多线程 文章目录Linux多线程1.Linux线程概念1.1 什么是线程1.2 线程的执行流1.3 线程的优缺点1.4 线程的异常与用途2.进程与线程的区别总结3.多进程与多线程的应用场景4.线程控制4.1 进程ID与线程ID4.2 线程创建(pthread_create)4.3 线程终止(pthread_exit、pthread_cance…

Unity计算着色器 01

序 计算着色器,是什么? Unity中ComputeShader的基础介绍与使用 - 知乎 (zhihu.com) 好像是并行计算的一个东西。再具体的,看不懂了。 并行计算,显卡? 那看来得先了解显卡,铺垫一下,再计划…

算法前缀和

一 和为 k 的子数组 1.1 题目描述 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 示例 1: 输入:nums [1,1,1], k 2 输出: 2 解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2: 输入:nums [1,2,3], k…

由浅入深,详解 LiveData 的那些事

引言 关于LiveData,在2022尾声的今天,从事 Android 开发的小伙伴一定不会陌生。相应的,关于 LiveData 解析与使用的文章更是数不胜数,其中不乏优秀的创作者,在众多的文章以及前辈面前,本篇也不敢妄谈能写的多么深入,易…

python使用Flask,Redis和Celery的异步任务

介绍 随着Web应用程序的发展和使用的增加,用例也变得多样化。我们现在正在建设和使用网站来执行比以往任何时候都更复杂的任务。其中一些任务可以进行处理,并将反馈立即转发给用户,而其他任务则需要稍后进行进一步处理和结果转发。越来越多地…

冯诺依曼体系各硬件工作原理解析

文章目录计算机结构体系来源冯诺依曼体系结构主存储器的基本组成运算器的基本组成控制器的基本组成计算机的工作过程总结计算机结构体系来源 1946年,美国发明了世界上第一台计算机ENIAC,可用于比较快速的数据计算,但是其运算速度却受到了人工数据的输入速度的限制,为此我们现在…

NNDL实验 优化算法3D轨迹 鱼书例题3D版

这张图在网络上很流行。代码源自: 深度学习入门:基于Python的理论与实现 (ituring.com.cn) 2D版讲解:NNDL 作业11:优化算法比较 调整学习率等超参数,观察动画,可以加深对各种算法的理解。 配合实验的模型…

南方农业杂志南方农业杂志社南方农业编辑部2022年第19期目录

遗传育种 峨眉黑鸡遗传多样性及群体遗传结构分析 袁霞;刘方庆;文陇英;徐婧;廖光祥;王强胜;王湘; 1-7 栽培与植保《南方农业》投稿:cn7kantougao163.com 井窖式移栽烤烟前期地上部和地下部生长规律拟合分析 温明霞;郭发文;冯小芽;王军;刘京;彭剑涛;廉云; 8-1…

从进程的角度来看JVM的内存分布

JVM(下面JVM都是指代HotSpot)本质上是运行在操作系统上的一个C程序,本文会从这个角度来构建对于JVM内存的完整视角,以HotSpot这个JVM实现运行在Linux操作系统上进行分析,在分析的过程中会解释清楚一些不太好理解的概念,诸如堆外内…

双十二哪些数码好物值得入手?盘点双十二最值得入手的数码好物

双十二快到了,相信很多人像我一样想趁着年末入手数码产品,但又不知道什么值得入手。最近也听到很多人问,针对这个问题,我来给大家盘点双十二最值得入手的数码好物,有需要的可以当个参考。 一、南卡小音舱蓝牙耳机 推…

怎样批量查询网站是否被搜狗收录?批量查询网站搜狗收录的详细教程

怎样批量查询网站是否被搜狗收录?批量查询网站搜狗收录的详细教程 批量查询网站搜狗收录的的具体操作: 第一步、打开站长工具 第二步、添加需要查询的网站域名 第三步、勾选要查询的功能(勾选搜狗是否收录和搜狗总收录) 第四步、提交查询 第…

手把手教你在Ubuntu22.04 上安装 Vivado、HLS、Vitis 2022.2版本

文章目录1 Vivado22.2 和 HLS 22.2 安装下载安装包执行.bin文件开始安装命令配置启动问题2 Vitis 22.2 安装3 卸载Xilinx我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。欢迎来关注我的B站账号,我将定期更新IC设计教程。 …

手撕红黑树 | 变色+旋转你真的明白了吗?【超用心超详细图文解释 | 一篇学会Red_Black_Tree】

说在前面 我们也很久没有更新数据结构系列了,半年前博主重新深入学习了红黑树这个数据结构,一直想更新呈现给大家,最近也一直没有时间,今天红黑树它来了! 博主为了这篇博客,做了很多准备,试了…