MySQL的内,外,自连接复习

news2024/9/22 5:24:24

目录

1.找出每个员工的薪资等级,要求显示员工名,薪资,薪资等级 

2.查询员工的上级领导,要求显示员工名和对应的领导名

外连接的引入

五月 


1.找出每个员工的薪资等级,要求显示员工名,薪资,薪资等级 

这道题是内连接中的非等值连接(join前的inner是可以省略的)

1. 将emp表记作e,salgrade表记作s;

2. 连接条件:e表的薪资(sal)在  s表的薪资等级对应的范围内

  e.sal between s.losal and hisal

 select 
    e.ename,e.sal,s.grade
 from
    emp e
 join
    salgrade s
 on
    e.sal between s.losal and s.hisal;

2.查询员工的上级领导,要求显示员工名和对应的领导名

empno是对应人的编号,ename是每个人的名字,mgr表示该员工对应的领导的编号。

内连接一张表看作两张表。


emp a表看作员工表,emp b 表看作领导表 ,

用员工表(a)的 对应领导编号(mgr) 找领导表(b)中找对应的编号(empno) 所对应的人名(ename)

连接条件:a.mgr=b.empno

select 
    a.ename as '员工名' ,b.empno as '领导名' 
from 
    emp a 
join 
    emp b 
on 
    a.mgr=b.empno ;

打印结果:

外连接的引入

在这里我们发现少了一个员工KING(KING所对应的领导是NULL),也就是说内连接只能找出匹配条件的信息(没有主次关系),但是我们有时候是需要全部信息。

所以我们就可以引入外连接【left (outer) join / right (outer) join ,outer一般就省略了 】,left join 就表示左边是主表(左连接和右连接是可以相互转换的),无论是否与辅表内容匹配都得打印。

eg:现在主查a表中的员工名,捎带b表中的领导名,就 a left join b,

查询员工的上级领导,要求显示所有员工名和对应的领导名

子查询可参考http://t.csdn.cn/3yCnd 

五月 

这个月51假玩了五天,这周期中考试,还没考完(😭),打算这周内复习完数据库基础并且完成操作系统中进程,线程等知识的总结,复习一下常见的排序方法,强化写代码的能力(再练几个题)。时间太快了,俩月都过去了,不能再分心了......

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

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

相关文章

【笔试强训选择题】Day10.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录…

Vue电商项目--开发ListContainer模块

swiper基本使用 上节,我们使用了mock把数据成功的存储到了banner组件当中。现在先复习一下swiper这个轮播图插件的使用 Swiper中文网-轮播图幻灯片js插件,H5页面前端开发 下载swiper 首先我们需要css和js。然后把这俩个捞走 看说明书,引入js和css 这里…

深度学习笔记之卷积神经网络(三)卷积示例与池化操作

深度学习笔记之卷积神经网络——卷积示例与池化操作 引言卷积神经网络:卷积层卷积层的计算过程 池化层描述池化层的作用——降低模型复杂度,防止过拟合池化层执行过程池化层代码示例 池化层的作用——平移不变性卷积加池化作为一种无限强的先验池化层的反…

在vs2019中调试qt5.9.3为例

vs2019中其实可以调试qt,此环境配置qt5.9.3和vs2019,当前配置,作为一个记录,也方便大家查看。 vs配置qt环境 首先需要配置好qt在vs2019,可以打开网址https://download.qt.io/archive/vsaddin/2.8.1/, 我准…

【C++】继承和多态、public、private、protected、重写

区分继承与多态、辨别public、protected、private 继承与多态的概念继承与多态的区别与联系区别:联系:示例结果: 继承和访问的权限说明示例:结果 结论 继承与多态的概念 面向对象三大原则:封装、继承、多态。继承是一种…

探索Vue的组件世界-自定义指令

目录 自定义指令 钩子函数参数 使用 什么时候用 在Vue体系下创建一个自定义指令 使用自定义指令及示例要求 全局注册一个自定义指令 自定义指令 全局创建vue自定义指令 Vue.directive("demo", {// 只调用一次,指令第一次绑定到元素时调用。// 在…

MySQL常用SQL

目录 库操作 查询数据库 创建数据库 删除数据库 选择数据库 表操作 查看表 创建表 查看表结构 查看建表sql 删除表 (整表删除) CRUD操作 insert增加 update修改 delete删除 select查询 去重distinct 空值查询 union合并查询 带in子查询 …

浏览器从输入URL到页面渲染加载的过程(浏览器知识体系整理)

文章目录 前言一、梳理主干流程二、浏览器接收url并开启一个新进程1. 浏览器是多进程的2. 浏览器内核是多线程的3. JS引擎单线程的原因4. GUI渲染线程与JS引擎线程互斥 二、解析URL三、DNS域名解析1. DNS是什么?2. IP和域名的关系3. 域名服务器概念图4. DNS域名解析…

使用 OpenCV 进行基于 ESP32 CAM 的目标检测和识别

概述:基于 ESP32 CAM 的目标检测和识别 本教程介绍了使用OpenCV基于 ESP32 CAM的目标检测和识别主题。OpenCV 是一个开源的图像处理库,不仅在工业界而且在研发领域都得到了非常广泛的应用。 这里对于对象检测,我们使用了cvlib 库。该库使用 COCO 数据集上的预训练 AI 模型…

Flume系列:Flume Sink使用

目录 Apache Hadoop生态-目录汇总-持续更新 1:HDFS Sink HDFS小文件的处理 HDFS存入大量小文件的影响: HDFS小文件处理: 2:logger Sink 3:写入Kafka - 可以使用kafka channel代替 Apache Hadoop生态-目录汇总-持…

力扣sql中等篇练习(十八)

力扣sql中等篇练习(十八) 1 银行账户概要 1.1 题目内容 1.1.1 基本题目信息1 1.1.2 基本题目信息2 1.1.3 示例输入输出 1.2 示例sql语句 # Write your MySQL query statement below SELECT u.user_id,u.user_name,u.creditIFNULL(t1.c1,0) credit,case when u.creditIFNULL…

分享一个无需账号完全免费的 ChatGPT-4 的平台

AIGC从入门到精通教程 1. 访问 SteamShip2. 进入创建页面,选择新建一个 GPT-4 实例。3. 完成创建后,您便可以尽情体验 GPT-4本教程收集于: AIGC从入门到精通教程 大家都知道,ChatGPT4.0是要订阅Plus(一个月20美元)后才能体验的。 今天就给大家弄一个白嫖ChatGPT4.0的教程…

DEJA_VU3D - Cesium功能集 之 107-卫星探测效果

前言 编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合,有自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小140个左右的功能,后续也会不断的追加,所以暂时打算一周2-3更的样子来更新本专栏(每篇博文都会奉上完整demo的源代码,…

c++STL之常用的算法

目录 常用的遍历算法 for_each() transform() for_each()和transform()算法比较 常用的查找算法 adjacent_find() binary_search count() count_if() find() 常用的排序算法 merge() sort() random_shuffle() reverse() 常用的拷…

基于`IRIS`,动态解析`HL7`消息

文章目录 基于IRIS,动态解析HL7消息什么是HL7HL7 版本HL7 消息结构段(Segment)字段(Field) HL7 数据类型在IRIS中查看HL7数据结构传统方式拼写HL7消息结构动态对象解析HL7消息结构。 基于IRIS,动态解析HL7消…

SpringCloud:微服务保护之隔离和降级

1.FeignClient整合Sentinel SpringCloud中,微服务调用都是通过Feign来实现的,因此做客户端保护必须整合Feign和Sentinel。 1.1.修改配置,开启sentinel功能 修改OrderService的application.yml文件,开启Feign的Sentinel功能&…

详细版易学版TypeScript - 类

一、类 - 类的属性和方法 class MyPreson {// 类的属性// 属性需要在类里先定义并确定类型,才可以在constructor里面用this访问name: stringage: numberconstructor(name: string, age: number) {this.name name;this.age age;}// 类的方法sendStr(str: string) {…

工业4.0时代来临,POWERLINK协议在千兆网卡下的性能

“工业 4.0”的高歌猛进, “智能制造”,“智慧工厂”的呼声越来越响亮。这些需求使得数据传输量越来越大,实时性越来越高,因此我们将 POWERLINK 从 100Mbps 升级到1000Mbps。测试下POWERLINK这种工业总线协议的性能,最…

jest基础指示

describ(类似java中的class,在这里定义的变量可以在所有it中使用) 针对某一方面的测试,一个描述性的东西,针对某一个方面的测试,或者说是一个作用域 一组测试用例的集合。 有两个参数,参数1 &…

Vue 3.0 学习笔记

Vue 3 学习笔记 文章目录 Vue 3 学习笔记[toc]一、初识vue3二、 常用Composition API(组合式API)**1. setup函数****2. ref函数****3. reactive函数****4. Vue3.0中的响应式原理****Vue2.x的响应式****Vue3.x的响应式** **5. reactivce对比ref****6. set…