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

mysql 查询


-- 多表查询select * from tb_dept,tb_emp;

内来链接

-- ===================内连接 ========================
-- A 查询员工的姓名 , 及所属的部门名称 (隐式内连接实现)select tb_emp.name,tb_dept.name from  tb_emp,tb_dept where tb_emp.id=tb_emp.id;-- 推荐使用select a.name,b.name from  tb_emp a, tb_dept b  where a.dept_id= b.id;-- B 查询员工的姓名 , 及所属的部门名称 (显示内连接实现)
select  tb_emp.name ,tb_dept.name from tb_emp inner join tb_dept on tb_emp.id=tb_dept.id;

 外链接

-- =====================外连接=============
-- A  查询 员工的所有 员工的姓名  和对应的部门名称 (左外链接)
select r.name,t.name  from  tb_emp r left join tb_dept t on r.dept_id=t.id;-- B  查询 部门的所有名称 和对应的员工姓名 (右外链接)select e.name,d.name from  tb_emp e right join tb_dept d on e.dept_id=d.id;

 子查询

-- =================== 子查询====================-- 表量子查询-- A 查询 "教研部" 的 所有员工信息-- a 查询 "教研部"的部门的ID-tb_dept
select  id from tb_dept  where name ='教研部';-- b  查询在 "房东白" 入职之后的员工 信息- tb_emp
select * from tb_emp r where r.dept_id =2;
select * from tb_emp r where r.dept_id =(select  id from tb_dept  where name ='教研部');-- B  查询在 "房东白" 入职之后的员工 信息
-- a 查询 房东白的入职时间
select entrydate from  tb_emp r  where  r.name='方东白';-- b 查询在 "房东白" 入职之后的员工 信息
select  * from tb_emp f where f.entrydate>(select entrydate from  tb_emp r  where  r.name='方东白');

例子查询


-- ==============子查询 =====================
-- A 查询 "教研部" 和 '咨询部' 的所有员工信息
select id from tb_dept  where name='教研部'or name='咨询部';-- 根据ID查询 该部门下的员工信息select * from tb_emp v where v.dept_id=3 or v.dept_id=2;select * from tb_emp v where v.dept_id in (3,2);
-- 完整2   A 查询 "教研部" 和 '咨询部' 的所有员工信息select * from tb_emp v where v.dept_id in (select id from tb_dept  where name='教研部'or name='咨询部');

行子查询

-- ================行子查询 ===============
-- A 查询与 “韦一笑” 的入职日期 及 职位都相同的员工信息
-- a 先找出韦一笑 职位 入职时间
select   name, job, entrydate from  tb_emp g where g.name='韦一笑';
select  entrydate, job from  tb_emp g where g.name='韦一笑';select * from tb_emp j where  j.job=2 and j.entrydate='2007-01-01';
select * from tb_emp j where j.entrydate='2007-01-01' and  j.job=2;
select * from tb_emp  where  (entrydate,job)=('2007-01-01',2);
select * from tb_emp  where  (entrydate,job)=(select  entrydate, job from  tb_emp g where g.name='韦一笑');

表子查询

-- =================表子查询============
-- A 查询入职时间 是 “ 2006-01-01” 之后 的员工信息 及其部门的名称·select * from tb_emp where  entrydate>'2006-01-10';
-- a 查询这部分员工信息及其部门名称 -select  e.* , d.name from  (select * from tb_emp where entrydate > '2005-01-10') e,tb_dept d where e.dept_id = d.id;

 

-- 1 查询价格低于 10元 的菜品的名称 、价格 及其 菜品的分类名称
select d.name,d.price, c.name from dish d, category c where d.price<10 and d.category_id= c.id;-- 2.查询所有价格在 10元(含)到50元(含)之间 且 状态为”起售”的菜品名称、价格及其分类名称
select d.name,d.price, c.name  from dish d  left join category c on d.category_id= c.id where d.price between 10 and 50 and d.status=1;-- 3 查询每个分类下最贵的菜品,展示出分类的名称、最贵的菜品的价格select c.name, max(d.price) from  dish d ,category c  where d.category_id =c.id group by  c.name;-- 4 查询各个分类下 菜品状态为“起售”,并且 该分类下菜品总数量大于等于3 的 分类名称select c.name ,count(*) from dish d ,category c where d.category_id=c.id and d.status=1 group by c.name having count(*)>3;-- 5.查询出“商务套餐A”中包含了哪些菜品 (展示出套餐名称、价格,包含的菜品名称、价格、份数select  s.name,s.price,d.name,d.price ,sd.copies from  setmeal s ,setmeal_dish sd, dish d wheres.id=sd.setmeal_id and sd.setmeal_id=d.id and s.name='商务套餐A';-- 6查询出低于菜品平均价格的菜品信息(展示出菜品名称、菜品价格)select avg(price) from  dish  ;
select * from dish where price<37.736842;
select * from dish where price<(select avg(price) from  dish );

http://www.lryc.cn/news/238673.html

相关文章:

  • 2311rust过程宏的示例
  • 数据分析:数据预处理流程及方法
  • uniapp 防抖节流封装和使用
  • springcloud alibaba学习视频
  • 【MySQL】一些内置函数(时间函数、字符串函数、数学函数等,学会了有妙用)
  • QtC++与QColumnView详解
  • 微信小程序配置企业微信的在线客服
  • 深入理解Java AQS:从原理到源码分析
  • 【数据结构(四)】栈(1)
  • 实验(四):指令部件实验
  • 【Android11】在内置的Tvsettings的界面中显示以太网Mac地址
  • 在Oracle 11g 数据库上设置透明数据加密(TDE)
  • 互动直播 之 视频帧原始数据管理
  • 基于tcp协议及数据库sqlite3的云词典项目
  • C/C++内存管理(1):C/C++内存分布,C++内存管理方式
  • 11 redis中分布式锁的实现
  • 循环链表3
  • 如何修改百科内容?百度百科内容怎么修改?
  • mysql8.0英文OCP考试第131-140题
  • MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
  • 信号的处理时机(内核态,用户态,如何/为什么相互转换,内核空间,cpu寄存器),信号的处理流程详细介绍+抽象图解
  • 【JavaEE】Spring的创建和使用(保姆级手把手图解)
  • MyBatis:关联查询
  • 第十二章 控制值的转换
  • SQL并集、交集、差集使用
  • 【双指针】盛水最多的容器
  • win11,引导项管理
  • YoloV8改进策略:WaveletPool解决小目标的混叠问题,提高小目标的检测精度
  • JavaScript中的假值对象是什么?
  • 求二叉树的最大密度(可运行)