【Day08】
目录
MySQL-多表查询-概述
MySQL-多表查询-内连接
MySQL-多表查询-外连接
MySQL-多表查询-[标量、列]子查询
MySQL-多表查询-[行、表]子查询
MySQL-多表查询-案例
MySQL-事务-介绍与操作
MySQL-事务-四大特性
MySQL-索引-介绍
MySQL-索引-结构
MySQL-索引-操作语法
Mybatis-入门-课程介绍
Mybatis-入门-快速入门程序
Mybatis-入门-配置SQL提示
Mybatis-入门-JDBC介绍
Mybatis-入门-数据连接池
Mybatis-入门-lombok工具包
MySQL-多表查询-概述
-- 多表查询 --
select * from tb_emp, tb_dept where tb_emp.dept_id = tb_dept.id;-- 起别名
select * from tb_emp e, tb_dept d where e.dept_id = d.id;
MySQL-多表查询-内连接
-- 内连接 --
-- A.查询员工的姓名 , 及所属的部门名称 (隐式内连接实现)
select tb_emp.name, tb_dept.name
from tb_emp,tb_dept
where tb_emp.dept_id = tb_dept.id;-- 起别名
select e.name, d.name from tb_emp e, tb_dept d where e.dept_id = d.id;-- B.查询员工姓名 , 及所属的部门名称 (显示内连接实现)
select tb_emp.name, tb_dept.name from tb_dept inner join tb_emp on tb_emp.dept_id = tb_dept.id;
MySQL-多表查询-外连接
-- 外连接 --
-- A.查询员工表 所有 员工的姓名, 和对应部门名称 (左外连接) 会完全包含左表的数据
select tb_emp.name, tb_dept.name from tb_emp left outer join tb_dept on tb_emp.dept_id = tb_dept.id;-- B.查询部门表 所有 部门的名称, 和对应的员工名称 (右外连接)会完全包含右表的数据
select tb_dept.name, tb_emp.name from tb_emp right outer join tb_dept on tb_emp.dept_id = tb_dept.id;
MySQL-多表查询-[标量、列]子查询
-- 子查询 --
-- 标量子查询
-- A.查询“教研部”的所有员工信息
-- a.查询 教研部 的部门ID
select id from tb_dept where name = '教研部';-- b.再查询该部门ID下的员工信息
select * from tb_emp where dept_id = 2;-- 整合
select * from tb_emp where dept_id = (select id from tb_dept where name = '教研部');-- B.查询在“方东白”入职之后的员工信息
-- a.查询 方东白 的入职日期
select entrydate from tb_emp where name = '方东白';-- b.查询再 '方东白' 入职之后的员工信息
select * from tb_emp where entrydate >= '2012-11-01';-- 整合
select * from tb_emp where tb_emp.entrydate >= (select tb_emp.entrydate from tb_emp where tb_emp.name = '方东白');-- 列子查询
-- A.查询 "教研部"和"咨询部"的所有员工信息
-- a.查询 "教研部"和"咨询部"部门ID - tb_dept
select id from tb_dept where name = '教研部' || name = '咨询部';-- b.根据部门ID,查询该部门下的员工信息 - tb_emp
select * from tb_emp where dept_id in (2, 3);-- 整合
select * from tb_emp where dept_id in (select id from tb_dept where name = '教研部' || name = '咨询部');
MySQL-多表查询-[行、表]子查询
-- 行子查询
-- A.查询与“韦一笑”的入职日期及职位都相同的员工信息
-- a.查询“韦一笑”的入职日期和职位
select entrydate, job from tb_emp where name = '韦一笑';-- b.查询与“韦一笑”入职日期和职位都相同的员工信息
select * from tb_emp where entrydate = '2007-01-01' and job = 2;
select * from tb_emp where (entrydate, job) = ('2007-01-01', 2);-- 整合
select *from tb_emp where entrydate = (select entrydate from tb_emp where name = '韦一笑') and job = (select job from tb_emp where name = '韦一笑');
select * from tb_emp where (entrydate, job) = (select entrydate, job from tb_emp where name = '韦一笑');-- 表子查询
-- A.查询入职日期是"2006-01-01"之后的员工信息,及其部门名称
-- a.查询入职日期之后的员工信息
select * from tb_emp where entrydate > '2006-01-01';-- b.查询这部分员工信息及其部门名称
select e.*, d.name from (select * from tb_emp where entrydate > '2006-01-01') e, tb_dept d where e.dept_id = d.id;
MySQL-多表查询-案例
-- 需求:
-- 1.查询价格低于10元的菜品的名称、价格 及其 菜品的分类名称
-- 表 : dish , category
-- SQL :
select d.name, d.price, c.name
from dish d,category c
where d.price < 10and d.category_id = c.id;-- 2.查询所有价格在 10元(含)到50元(含)之间 且 状态为“启售”的菜品,展示出菜品的名称(即使菜品没有分类,也需要将菜品查询出来)
-- 表 : dish , category
-- SQL :
select d.name, d.price, c.name
from dish dleft join category c on d.category_id = c.id
where d.status = 1and d.price between 10 and 50;-- 3.查询每个分类下最贵的菜品,展示出分类的名称、最贵的菜品的价格
-- 表 : dish , category
-- SQL :
select c.id, max(d.price)
from dish d,category c
where d.category_id = c.id
group by c.name;-- 4.查询各个分类下 菜品状态为“启售”,并且 该分类下菜品总数量大于等于3的 分类名称
-- 表 : dish , category
-- SQL :
select c.name, count(*)
from dish d,category c
where d.category_id = c.idand d.status = 1
group by c.name
having count(*) >= 3;-- 5.查询出 “商务套餐A”中包含了哪些菜品 (展示出套餐名称、价格, 包含的菜品名称、价格、份数)
-- 表 : dish , setmeal , setmeal_dish
-- SQL :
select s.name, s.price, d.price, d.name, sd.copies
from setmeal s,setmeal_dish sd,dish d
where sd.dish_id = d.idand sd.setmeal_id = s.idand s.name = '商务套餐A';-- 6.查询出低于菜品平均价格的菜品信息(展示出菜品名称、菜品价格)
-- 表 : dish
-- SQL :
select d.name, d.price from dish d where d.price < (select avg(price) from dish);
MySQL-事务-介绍与操作
-- 开启事务
start transaction;-- 删除部门
delete from tb_dept where id=3;-- 删除部门下的员工
delete from tb_emp where dept_id = 3;-- 提交事务
commit;-- 回滚事务
rollback;
MySQL-事务-四大特性
MySQL-索引-介绍
MySQL-索引-结构
MySQL-索引-操作语法
-- ===================================== 索引 ======================================
-- 创建 : 为tb_emp表的name字段创建索引
create index idx_emp_name on tb_emp(name);-- 查询 : 查询 tb_emp 表的索引信息
show index from tb_emp;-- 删除 : 删除 tb_emp 表中的name字段的索引
drop index idx_emp_name on tb_emp;
Mybatis-入门-课程介绍
Mybatis-入门-快速入门程序
Mybatis-入门-配置SQL提示
Mybatis-入门-JDBC介绍
Mybatis-入门-数据连接池
Mybatis-入门-lombok工具包
相关文章:

【Day08】
目录 MySQL-多表查询-概述 MySQL-多表查询-内连接 MySQL-多表查询-外连接 MySQL-多表查询-[标量、列]子查询 MySQL-多表查询-[行、表]子查询 MySQL-多表查询-案例 MySQL-事务-介绍与操作 MySQL-事务-四大特性 MySQL-索引-介绍 MySQL-索引-结构 MySQL-索引-操作语法 …...

mongodb在Java中条件分组聚合查询并且分页(时间戳,按日期分组,年月日...)
废话不多说,先看效果图: SQL查询结果示例: 多种查询结果示例: 原SQL: db.getCollection("hbdd_order").aggregate([{// 把时间戳格式化$addFields: {orderDate: {"$dateToString": {"for…...

怎么样处理浮毛快捷又高效?霍尼韦尔、希喂、米家宠物空气净化器实测对比
掉毛多?掉毛快?猫毛满天飞对身体有危害吗?多猫家庭经验分享篇: 一个很有趣的现象,很多人在养猫、养狗后耐心都变得更好了。养狗每天得遛,养猫出门前得除毛,日复一日的重复磨练了极好的耐心。我家…...
什么是WebGL技术?有什么特点?应用领域有哪些?
WebGL(Web Graphics Library)技术是一种在Web浏览器中渲染交互式3D和2D图形的JavaScript API。以下是对WebGL技术的详细解析: 一、定义与起源 定义: WebGL全称Web Graphics Library,即网络图形库,它允许…...

500W逆变器(一)
EG8015_24V_500W 这款逆变器是基于 EG8015 SPWM 专用芯片而设计的方案。其额定的输出功率为 500 瓦, 最大输出功率为 600 瓦,输出电压为 220V10%,输出频率为 50Hz0.1Hz,额定输出电流为 2.3 安培。 穿越机降落的时候不要垂直降落,要…...

ubuntu 22.04 编译安装新内核
1、普通用户登录系统 查看当前内核版本 $ uname -r 5.15.0-118-generic 2、下载内核源码 www.kernel.org 用户home目录新建子目录linux,下载并解压 linux-5.15.165.tar.xz 3、创建起始的配置文件.config Configuration targets (见linux kernel i…...
Linux 文件权限与属性管理
概述 Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 对不同用户访问同一文件(包括目录文件)的权限做了详细的规定。 文件属性查看 在 Linux 中࿰…...

Django学习实战篇三(适合略有基础的新手小白学习)(从0开发项目)
前言: 在上一章中,我们对Django的Model层有了比较全面的认识,本章就来配置Django自带的admin。这里需要认识到,Django的Model层是很重要的一环,无论是对于框架本身还是对于基于Django框架开发的大多数系统而言。因为一…...

【SPIE独立出版,连续2届稳定EI检索!】2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024,10月25-27)
2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024)将于2024年10月25-27日于中国郑州召开。 会议将围绕信息技术与通信,网络与计算技术等在相关领域中的最新研究成果,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者…...
.NET/C#⾯试题汇总系列:基础语法
1. 字符串中string strnull和string str""和string strstring.Empty的区别? string str null;:这种方式声明了一个字符串变量str,并将其初始化为null。这意味着str不指向任何实际的字符串对象。如果你试图访问str的属性或方法&…...

【论文阅读】SwiftTheft: A Time-Efficient Model Extraction Attack Framework(2024)
完整标题 SwiftTheft: A Time-Efficient Model Extraction Attack Framework Against Cloud-Based Deep Neural Networks 摘要 With the rise of artificial intelligence(人工智能) and cloud computing(云计算), machine-learning-as-a-service platforms(机器学习即…...
springcloud间通信的方式
在 Spring Cloud 中,主要有以下几种通信方式: 一、基于 HTTP 的 RESTful API 工作原理: 这是一种常见的通信方式,各个微服务通过发送 HTTP 请求来相互调用。服务提供者暴露 RESTful API 接口,服务消费者通过 HTTP 客户…...

【C++ Qt day9】
2、将day1做的登录界面升级优化【资源文件的添加】 3、 使用手动连接,将登录框中的取消按钮使用第2种方式的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上…...

中国传媒业人工智能应用发展图谱2024
易观分析:传媒产业是指以传播各类信息、知识为核心,通过多种媒介形式进行内容生产、发布和分发的综合性产业。技术的进步和应用对于传媒产业发展变革起到了核心驱动力的作用,2022年生成式AI进入应用爆发期,不仅带动了人工智能产业…...
RTX3060 FP64测试与猜想
RTX3060 FP64测试与猜想 一.小结二.查看FP64的峰值性能三.打满FP64、FP32的利用率,对比差异四.进一步证明pipe_fp64_cycles_active并不是2个fp64 core的metrics RTX3060 FP64测试与猜想 一.小结 RTX3060 compute capability为8.6,每个SM有2个FP64 core。每个cycle可输出2个fp…...
uniapp写移动端常见问题汇总
1. 手机顶部状态栏遮挡 写在需要的地方 <view class"status_bar" style"height: var(--status-bar-height); width: 100%;">2. 手机顶部状态栏字体颜色 // pages.json "statusBarStyle": "light",3. 背景覆盖全屏 page{widt…...

Linux运维排查常见故障_在tmp目录下有大量包含picture_ 的临时文件,每天晚上2 30需要对一天前的文件进行
echo“”>>/etc/security/limits.conf echo“*softnproc65535″>>/etc/security/limits.conf echo“*hardnproc65535″>>/etc/security/limits.conf echo“*softnofile65535″>>/etc/security/limits.conf echo“*hardnofile65535″>>/etc/secur…...

基于SpringBoot的智能制造云平台系统的设计与实现计算机毕设
一、选题背景与意义(300字左右) 根据工业4.0智能制造生态链中云工厂在实际生产当中的工作流程进行充分调研和整理出来的,描述最终用户在本系统中对于生产订单的处理、排产、以及生产的完整在线处理流程和业务需求的文档。 针对制造业而言&a…...

论文翻译:arxiv-2024 Benchmarking Benchmark Leakage in Large Language Models
Benchmarking Benchmark Leakage in Large Language Models https://arxiv.org/abs/2404.18824 在大型语言模型中基准测试泄露的基准测试 文章目录 在大型语言模型中基准测试泄露的基准测试摘要1 引言 图1:不同模型在基准测试的训练集上进行逐字训练相对于测试集以…...

十二、新版UI
一、UI Toolkit 这个组件是新版的UI系统 创建了一个新的UIBuild,在单独的场景中打开 未来Unity会以这个为基准。 缺点:目前没有Animator,做不了动画;没法加shader...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...