【MySQL】学习连接查询和案例演示

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:“没有罗马,那就自己创造罗马~”

at someone s disposal 任...处理 '

文章目录

  • `连接查询`
  • `内连接`
    • `隐式内连接`
    • `隐式内连接演示`
    • `显示内连接`
    • `显示内连接演示`
  • `外连接`
    • `左外连接`
    • `左外连接演示`
    • `右外连接`
    • `右外连接演示`
    • `右外连接如何转换为左外连接`

连接查询

内连接

内连接查询的是两张交集的部分。

在这里插入图片描述

隐式内连接

SELECT 字段列表 FROM 表1 ,表2 WHERE 条件...;

隐式内连接演示

-- 内连接演示
-- 1.查询每一个员工的姓名 , 及关联部门的名称 (隐式内连接实现)
-- 表结构:emp , dept
-- 连接条件: emp.dept_id = dept.id
select emp.name , dept.name from emp , dept where emp.dept_id = dept.id ; 

在这里插入图片描述

通过内连接查询连接员工表和部门表,我们从查询结果看到只有16条信息,而最后一条却没有。这是因为我们还没有给最后一个员工分配部门。
-- 我们可以通过取别名简化代码长度
select e.name , d.name from emp e , dept d where e.dept_id = d.id;
⚠️注意:一旦我们给表取完别名以后。就不能通过原来的表名去限定字段。

在这里插入图片描述


显示内连接

SELECT 字段列表 FROM 表1 [ INNER ] JOIN 表2 ON 连接条件...;

显示内连接演示

-- 2.查询每一个员工的姓名 , 及关联部门的名称 (显式内连接实现) --- INNER JOIN ... ON ...
-- 表结构: emp , dept
-- 连接条件: emp.dept_id = dept.id
select e.name , d.name from emp e  inner join dept d on e.dept_id = d.id;

在这里插入图片描述


外连接

左外连接

在这里插入图片描述

左外连接演示

-- 外连接演示
-- 1. 查询emp表的所有数据 , 和对应的部门信息(左外连接)
-- 表结构: emp , dept
-- 连接条件: emp.dept_id = dept.id

select e.* , d.name  from emp e left outer join dept d on e.dept_id = d.id;

-- 写法2:可以省略outer
select e.* , d.name from emp e left join dept d on e.dept_id = d.id;

在这里插入图片描述

我们可以看到即使最后一个员工没有部门信息,一样能够查询到null,因为左外连接会包括左表的所有数据,即所有员工表中员工的信息。

右外连接

在这里插入图片描述

右外连接演示

-- 2. 查询dept表的所有数据 , 和对应的员工信息(右外连接)  - right outer join右外会完全包含右外连接的数据
select d.* , e.*  from emp e right outer join dept d on e.dept_id = d.id;

在这里插入图片描述

右外连接如何转换为左外连接

-- 右外链接 也可以 改成 左外连接
select d.* , e.* from  dept d left outer join emp e on e.dept_id = d.id;

在这里插入图片描述

我们可以看到,通过修改关键字,右外连接也可以修改成左外连接。

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HotSpot虚拟机对象探秘

对象的创建 1.1 对象创建的6种方式 使用new关键字、Class的newInstance()方法、Constructor类的newInstance()方法、clone()方法、反序列化、第三方库Objenesis。 每种创建对象方式的实际操作如下。 使用new关键字—调用无参或有参构造器创建。使用Class的newInstance()方法…

软件实际应用实例分享,门诊电子处方模板制作教程,中西医诊所病历开单系统教程

软件实际应用实例分享,门诊电子处方模板制作教程,中西医诊所病历开单系统教程 一、前言 以下软件教程以 佳易王诊所电子处方软件V17.3为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、在开电子处方的时候&#xff0c…

Python3零基础教程之Python解释器与开发环境搭建

大家好,我是千与编程,硕士毕业于北京大学,曾先后就职于字节跳动,京东等互联网大厂,目前在编程导航知识星球担任星球嘉宾,著有《AI算法毕设智囊袋》,《保姆级带你通关秋招教程》两大专栏。 今天开…

【鸿蒙系统学习笔记】网络请求

一、介绍 资料来自官网:文档中心 网络管理模块主要提供以下功能: HTTP数据请求:通过HTTP发起一个数据请求。WebSocket连接:使用WebSocket建立服务器与客户端的双向连接。Socket连接:通过Socket进行数据传输。 日常…

基于Skywalking开发分布式监控(三)

回顾上期的问题,当我们搭建完成Skywalking的搭建,顺利完成应用监控之后,就会面临一类问题,怎么利用获取的监控数据,包括三方面: 1 应用的Trace和SW收集Service/Endpoint不一定完全一致,可能定位…

【快速上手QT】05-绘画Paint

我们写一个QT程序,说实话,很难昧着良心说这个QT界面很好看(技术高超的小伙伴请忽略我这句话)。但是我们可以使用绘画事件来弥补一下“相貌丑陋”的这个缺点。 paintEvent 我们可以对主界面进行绘图,从而达到美化界面…

js设计模式:计算属性模式

作用: 将对象中的某些值与其他值进行关联,根据其他值来计算该值的结果 vue中的计算属性就是很经典的例子 示例: let nowDate 2023const wjtInfo {brithDate:1995,get age(){return nowDate-this.brithDate}}console.log(wjtInfo.age,wjt年龄)nowDate 1console.log(wjtInf…

【UI自动化】使用poco框架进行元素唯一定位

直接选择: 1.poco(text买入).click() 2.poco("android.widget.ImageView").click()相对选择、空间选择: 3.poco(text/name).parent().child()[0].click()正则表达式: 4.listpoco(textMatches".*ETF")今天主要想记录下…

操作系统导论-课后作业-ch19

1. 本书在第6章中有过介绍,gettimeofday函数最多精确到us,并且大致精确(并不完全精确),需要多迭代几次减少误差,循环次数太多也会导致结束时间小于开始时间(即回滚)的现象&#xff…

Kaggle实践之《Home Credit Default Risk》的逐步优化

记录下每一次的改进及其score。 1、只用训练集的特征简单处理 特征只用训练集的特征,把string型的特征全部进行one-hot转化,然后随机1:4分成测试集训练集,模型也调参直接出结果。 最终的score是训练集80.13%、验证集76.33%、线上74.28%。 …

Java 注解机制解密并发编程的时间之谜:揭开Happens-Before的神秘面纱

优质博文:IT-BLOG-CN 一、简介 为什么需要happens-before原则: 主要是因为Java内存模型 , 为了提高CPU效率,通过工作内存Cache代替了主内存。修改这个临界资源会更新work memory但并不一定立刻刷到主存中。通常JMM会将编写的代码…

⭐北邮复试刷题LCR 052. 递增顺序搜索树__DFS (力扣119经典题变种挑战)

LCR 052. 递增顺序搜索树 给你一棵二叉搜索树,请 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。 示例 1: 输入:root [5,…

零基础学习8051单片机(十六)

继续学习8051单片机,本次通过观看视频在此学习8051单片机的中断系统 要掌握单片机中断系统的硬件结构和工作原理 掌握:中断系统的初始化编程以及中断服务子程序设计。 一、中断的基本过程图: 中断的响应和处理过程: 当中断提出…

Redis篇----第十三篇

系列文章目录 文章目录 系列文章目录前言一、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key是以某个固定的已知的前缀开头的,如果将它们全部找出来?二、如果有大量的 key 需要设置同一时间过期,一般需要注意什么?三、使用过 Redis 做异步队列么,你是怎么用的?四、使用…

Apache Doris 发展历程、技术特性及云原生时代的未来规划

文章目录 作者介绍 Apache Doris特性极简结构高效自运维高并发场景支持MPP 执行引擎明细与聚合模型的统一便捷数据接入 Apache Doris 极速 1.0 时代极速 关于 Apache Doris 开源社区基于云原生向量数据库 Milvus 的云平台设计实践作者介绍图书推荐 本文节选自《基础软件之路&am…

第六篇【传奇开心果系列】Python文本和语音相互转换库技术点案例示例:深度解读Kaldi库个性化定制语音搜索引擎

传奇开心果短博文系列 系列短博文目录Python文本和语音相互转换库技术点案例示例系列 短博文目录前言一、雏形示例代码二、扩展思路介绍三、数据准备示例代码四、特征提取示例代码五、声学模型训练示例代码六、语言模型训练示例代码七、解码示例代码八、评估和调优示例代码九、…

LeetCode | 寻找两个正序数组的中位数 Python C语言

Problem: 4. 寻找两个正序数组的中位数 文章目录 思路解题方法Code结果结果一些思考 思路 先合并,后排序,最后找中间轴。 解题方法 由解题思路可知 Code 这是python3的代码。 class Solution(object):def findMedianSortedArrays(self, nums1, num…

分享Video.js观看Web视频流

界面效果 HTML结构 <div class"homePopup" ><div class"search_box animate__animated animate__fadeInDown" style"display: none;"><div class"van-search" style"background: rgba(0, 0, 0, 0);">&…

【云原生】Docker consul的容器服务更新与发现

目录 什么是服务注册与发现 什么是consul consul提供的一些关键特性&#xff1a; consul 部署 consul服务器 1. 建立 Consul 服务 设置代理&#xff0c;在后台启动 consul 服务端 2. 查看集群信息 查看members状态 查看集群状态 3. 通过 http api 获取集群信息 regi…

SpringBoot指定外部环境配置

nohup java -Xms256m -Xmx512m -Dfile.encodingUTF-8 -jar /usr/local/xxxx.jar --spring.profiles.activeprod > system.log 2>&1 & --spring.profiles.activeprod修改的是多环境配置中内部application.properties里的spring.profiles.active值 -Dspring.config…