当前位置: 首页 > news >正文

【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工具包

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python的统计分析库scipy.stats使用方法
  • SAP项目中沟通的几点总结
  • 科研小白成长记40——第三个五年计划
  • Excel文档的读取【2】
  • 3 html5之css新选择器和属性
  • Python画笔案例-038 绘制齿形图
  • SSL 证书 | 免费获取与自动续期全攻略
  • 贝壳面试:什么是回表?什么是索引下推?
  • 华为-2017-测试工程师笔试试卷
  • 【网络】UDP协议的简单使用
  • Python实现读取Excel数据详细教学版
  • [环境配置]ubuntu20.04安装后wifi有图标但是搜不到热点解决方法
  • 安防监控视频平台LntonAIServer视频智能分析平台新增视频质量诊断功能
  • AF高可用性-主主透明模式/主主虚拟网线
  • 编译 ffmpeg 以支持AVS格式视频解码与解码
  • CSS实用技巧干货
  • FineReport中如何实现自动滚屏效果
  • js数组之filter
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • ng6--错误信息小结(持续更新)
  • node入门
  • Otto开发初探——微服务依赖管理新利器
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • V4L2视频输入框架概述
  • 安装python包到指定虚拟环境
  • 代理模式
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 前端js -- this指向总结。
  • 算法-图和图算法
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 小程序01:wepy框架整合iview webapp UI
  • 小程序测试方案初探
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 智能合约开发环境搭建及Hello World合约
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # 安徽锐锋科技IDMS系统简介
  • ## 基础知识
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (黑马点评)二、短信登录功能实现
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (三) diretfbrc详解
  • (一)Docker基本介绍
  • (源码分析)springsecurity认证授权
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)jdk与jre的区别
  • .cn根服务器被攻击之后