HAVING 语句中能嵌套SELECT查询语句吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAVING 语句中能嵌套SELECT查询语句吗?相关的知识,希望对你有一定的参考价值。
希望兄弟姐妹不吝赐教,答对了有补偿
参考技术A 只要你返回的是一条数据就可以,否则就会报错.也就是having字句中的条件必须是唯一匹配的. 参考技术B 可以。 参考技术C ORACLE下刚试了,可以
select city_no,count(1) from i_firstquery t
group by city_no
having count(1)>(select 100 from dual)本回答被提问者采纳
DML语句 -- 子查询
一、含义
嵌套在其他语句内部的 select 语句称为子查询或内查询,
外面的语句可以是 insert、update、delete、select 等,一般 select 作为外面语句较多
外面如果为 select 语句,则此语句称为2外查询或主查询
二、分类
1、按出现位置
select 后面
仅仅支持标量子查询
from后面
表子查询
where 或 having 后面
标量子查询
列子查询
行子查询
exists 后面(结果不重要,判断是否有值)
标量子查询
列子查询
行子查询
表子查询
2、按结果集的行列
标量子查询(单行子查询):结果集为一行一列
列子查询(多行子查询):结果集为多行一列
行子查询:结果集为多行多列
使用的较少,应用场景具有偶合性
表子查询(嵌套子查询):结果集为多行多列
三、示例
where 或 having 后面
1、标量子查询
案例:查询最低工资的员工姓名和工资
①最低工资
SELECT MIN(salary) FROM employee
②查询员工的姓名和工资,要求工资 = ①
SELECT last_name, salary
FROM employees
WHERE salary = (
SELECT MIN(salary) FROM emplaoyees
);
2、列子查询
案例:查询所有是领导的员工姓名
①查询所有员工的 manager_id
SELECT manager_id
FROM emlioyees
②查询姓名,employee_id 属于①列表的一个
SELECT last_name
FROM employees
WHERE employee_id IN(
SELECT manager_id
FROM employees
);
以上是关于HAVING 语句中能嵌套SELECT查询语句吗?的主要内容,如果未能解决你的问题,请参考以下文章
数据库的SQL语句中,嵌套查询和连接查询有啥区别,说的详细的