子查询-分类/解题思路/举例示范

本文详细介绍了子查询的概念、分类和编写技巧,包括单行与多行子查询、相关与非相关子查询的区分。通过实例解析了如何根据子查询的复杂程度选择编写方式,并探讨了在where、having子句以及case表达式中使用子查询的情况。同时,文章提到了在Oracle和MySQL中处理相关子查询的差异,并给出了多种查询问题的解决方案。
摘要由CSDN通过智能技术生成

目录

定义:子查询指一个查询语句嵌套在另一个查询语句内部的查询

分类:(单行子查询vs多行子查询;  相关子查询vs非相关子查询)


分类:

  1. *角度一* 

按 内查询的返回结果 是 **一行 还是 多行** 分为 : 单行子查询   多行子查询

     2.*角度二* 

按内查询是否被执行多次  分为 : 相关子查询  和  非相关子查询

/子查询的编写技巧(或步骤):① 从里往外写  ② 从外往里写/

如何选择?
① 如果子查询相对较简单,建议从外往里写。一旦子查询结构较复杂,则建议从里往外写
② 如果是相关子查询的话,通常都是从外往里写。

写子查询,也可以用自连接方式写需求,培养格局打开!

having子查询

30号部门最低工资为950,写的时候发现自己先写了第二种,应该屡清楚,是在每个部门最低工资,分组求出的基础上,用having去筛选比较大小

 这种写在where筛选的是 工资比 30号部门最低sal (950)的高的,然后再按部门分组,选择个每个部门符合条件  sal > 950 如 (20号部门 ,最低是800,1100,2975,3000),1100 >950且是在大于950里面最小的 

 

case中的子查询

有个疑问1,这里涉及了两张表,一张是employees 一张是departments ,直接使用case when࿱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值