首页 > 其他分享 >子查询

子查询

时间:2023-09-20 22:01:40浏览次数:34  
标签:... sal 查询 emp where select

子查询的定义:select语句中嵌套select语句,被嵌套的select语句为子查询。

子查询可以出现的位置:

select ...
	(select...)
		from
			...(select)..
					where
						...(select)...

==即可以出现在select后面,from后面,where后面!==

==where出现子查询==

问题案例:找出比最低工资高的员工姓名和工资?

第一步:查询最低工资是多少?

第二步:找出大于最低工资的?

第三步:整合前面的两点,得出下面的SQL语句:

select ename,sal from emp where sal > (select min(sal) from emp);

==from中的子查询==

注意:from后面的子查询,可以将子查询的查询结果当做一张临时表(==技巧!!==)

问题案例:找出每个岗位的平均工资的薪资等级?

第一步:找出每个岗位的平均工资(按照岗位分组求平均值)

select job,avg(sal) from emp group by job;

第二步:把上面的查询结果看作是一张表T。然后把T表和salgrade表连接查询。

select T.*,s.grade from T join salgrade s on T.avg(sal) between s.losal and s.hisal;

第三步,将第二步中的T换成第一步中的SQL语句得如下的结果:

select 
	T.*,s.grade
		from (select job,avg(sal) as avgsal from emp group by job) T 
			join salgrade s on 
				T.avgsal between s.losal and s.hisal;

==select后面的子查询==(了解即可)

案例问题:找出每个员工的部门名,要求显示员工名,部门名?

select e.ename,(select d.dname from dept d where e.deptno = d.deptno) as dname from emp e;

注意:对于select后面的子查询,这个子查询只能返回一个结果,如果多余一条结果,那么就会报错!!

标签:...,sal,查询,emp,where,select
From: https://blog.51cto.com/u_15433911/7543667

相关文章

  • INT13H 是一个基本的硬盘控制器中断,用于在实模式下进行对硬盘的读写操作。它提供了多
    INT13H是一个基本的硬盘控制器中断,用于在实模式下进行对硬盘的读写操作。它提供了多个功能来操控硬盘,包括磁盘读、磁盘写、磁盘参数查询等。以下是一些常见的INT13H功能:磁盘读取:功能号2:从磁盘上读取扇区到内存缓冲区。寄存器AH=02h,AL表示要读取的扇区数量,CH表示磁道号......
  • flowable一直查询定时任务act_ru_timer_job问题
    flowable:#1.false:默认值,Flowable启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常#2.true:启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表#3.create_drop:启动时自动创建表,关闭时自动删除表#4.drop_create:启动时,删除旧......
  • 在Oracle中查询表的大小和表空间的大小
    有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:selectsegment_name,bytes fromuser_segments wheresegment_type='TABLE'; 或者  SelectSegment_Name,Sum(bytes)/1024/1024FromUser_ExtentsGroupBySegment_......
  • mysql大数据量 分页查询优化
    最近我老表问我一个面试问题,如果数据量很大,分页查询怎么优化。个人觉得无非就是sql优化,那无非就是走索引,避免回表查询(覆盖索引,也就是不要用select *  ,走主键索引,叶子节点有保存了数据),减少回表查询次数(定位到非聚簇索引树的叶子节点少,小表驱动大表等)我下面自己测了一个500......
  • 测试常用SQL查询语句
    一、查询数值型数据:SELECT*FROMtb_nameWHEREsum>100;查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二、查询字符串SELECT*FROMtb_stuWHEREsname=‘小刘’SELECT*FROMtb_stuWHEREsnamelike‘刘%’SELECT*FROMtb_stuWHEREsnamelike‘%程序员’SELECT*FROMt......
  • mysql数据库数据的基本查询操作
    基本查询语句:select[all|distinct]字段或表达式列表[from子句][where子句][groupby子句][having子句][orderby子句][limit子句];表达式列表中的条件语句顺序不能乱,from:数据来源,表示数据来源于哪张表,例句:select*fromstudent(student是表名);where:条件字句,可连接运算符,结......
  • 在C#中如何自定义配置上周和本周起始日来查询业务数据?
    作者:西瓜程序猿主页传送门:https://blog.51cto.com/kimiliucn前言在做某个报表管理功能时,有一个需求:需要根据自定义配置的[周起始日]来统计上周、本周的订单数据。在C#中并没有封装的方法根据我们需要来直接获取上一周某天到某天、本周某天到某天,所以需要我们自己封装方法来实现(我们......
  • docker 查询精选,提示server misbehaving
    错误提示root@u-master1:~#dockersearchnginxErrorresponsefromdaemon:Get"https://index.docker.io/v1/search?q=nginx&n=25":dialtcp:lookupindex.docker.ioon127.0.0.53:53:servermisbehaving处理方法root@u-master1:/etc/docker#vim/etc/resolv.......
  • 在C#中如何自定义配置上周和本周起始日来查询业务数据?
    作者:西瓜程序猿主页传送门:https://www.cnblogs.com/kimiliucn前言在做某个报表管理功能时,有一个需求:需要根据自定义配置的[周起始日]来统计上周、本周的订单数据。在C#中并没有封装的方法根据我们需要来直接获取上一周某天到某天、本周某天到某天,所以需要我们自己封装方法......
  • doris 同一sql查询结果不一致问题
    问题背景数据大屏,展示数据有问题,查看前端指标呈现应用程序表对应指标发现有数据,后端再次测试发现了问题问题描述quota_id指标id,为字符串类型每五分钟会有自动执行脚本将最新账期数据同步到app_kpi_index_data表中对于使用insert插入数据表中的数据,查询数据时会出现以下错误......