emp表中还有ename(名字),sal(工资),deptno(部门号);
选择各个部门里面工资最高的人的姓名,工资,和部门号;代码如下:
select ename,sal,emp.DEPTNO
from emp join (select max(sal) max_sal,deptno
from emp
group by deptno) temp
on (emp.SAL = temp.max_sal and emp.DEPTNO = temp.deptno)
order by emp.DEPTNO;
求各个部门工资的平均值属于哪个等级。
select t.deptno, t.avgs, grade
from (select deptno, avg(sal) avgs from emp group by deptno) t join salgrade g
on (t.avgs between g.losal and g.hisal);
求各个部门的等级的平均值
select deptno, avg(grade) from
(
select deptno, grade
from emp join salgrade
on(emp.sal between salgrade.losal and salgrade.hisal)
) t
group by deptno;
求雇员中那些是经理
select ename
from emp e
where e.EMPNO in (select distinct m.mgr from emp m);
不用组函数,求薪水的最大值
select sal
from emp
where emp.sal not in
(
select distinct e.sal
from emp e join emp m
on e.sal < m.sal
);
求各部门工资平均值最大的部门编号
select t.deptno
from (
select deptno, avg(sal) avgs
from emp
group by deptno
) t
where t.avgs =(
select max(m.avgs)
from (select deptno, avg(sal) avgs
from emp
group by deptno
) m
);
求部门工资平均值最大的部门名称:
select dname,deptno
from dept
where deptno in(
select t.deptno
from (
select deptno, avg(sal) avgs
from emp
group by deptno
) t
where t.avgs in (
select max(m.avgs)
from (select deptno, avg(sal) avgs
from emp
group by deptno
) m
)
);
求平均工资等级最低的部门名称
select dname
from dept
where dept.DEPTNO in(
select deptno
from(
select deptno,avgsal, grade
from(
select deptno,avg(sal) avgsal
from emp
group by deptno
) t1 join salgrade g
on (
avgsal between g.losal and g.hisal
)
) t2
where t2.grade=(
select min(grade)
from (
select deptno,avgsal, grade
from(
select deptno,avg(sal) avgsal
from emp
group by deptno
) t1 join salgrade g
on (
avgsal between g.losal and g.hisal
)
)
)
);
也可以采用组函数嵌套,但是最多只能嵌套两层。
求比普通员工的最高工资还高的经理人的名称。
select ename from (
select * from emp where emp.EMPNO in (select mgr from emp where mgr is not null)
)
where
sal > (
select max(sal)
from emp e1
where e1.EMPNO not in (
select e2.MGR from emp e2 where e2.MGR is not null
)
);
select ename from emp
where
sal > (
select max(sal)
from emp e1
where e1.EMPNO not in (
select MGR from emp where MGR is not null
)
)
and empno in(select distinct mgr from emp where mgr is not null );
效率比较:
select * from emp where deptno = 10 and ename like '%A%'; 语句一
select * from emp where ename like '%A%' and deptno = 10; 语句二
语句一 > 语句二
rownum,orcale提供了一个伪字段rownum,但是rownum只可以与小于,小于等于联用,但不可以与大于,等于,大于等于联用。
select ename from emp where rownum <=5; (正确)
select ename from emp where rownum =5 ;(错误)
select ename from (select ename,rownum from emp)where rownum =5;(正确)
求工资最高的前五名员工的工资。
select sal from emp where rownum <=5 order by sal desc;(错误)
select sal from (select sal,rownum from emp order by sal desc) where rownum <=5 ;(正确)
求工资最高的第六名到第十名。
select sal from (select sal,rownum r from emp order by sal desc) where r>=6 and r<=10;(错误)
select ename,sal, rownum r from (
select ename, sal from emp order by sal desc
) r <=10 and r>=6;(错误)
select ename,sal from(
select ename,sal, rownum r from (
select ename, sal from emp order by sal desc
)
)where r >=6 and r<= 10;(正确)
分享到:
相关推荐
最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习...
这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习
### SQL语句强化练习知识点详解 #### 一、简单查询 **知识点1:查询所有记录** - **描述**: 使用 `SELECT * FROM 表名` 可以查询表中的所有记录。 - **示例**: 查询所有学生的信息。 - **SQL语句**: `SELECT * ...
经典的SQL语句练习
数据库SQL语句练习 本资源旨在通过若干SQL语句练习,帮助读者更好地理解数据库的各项数据操作。下面是相关知识点的详细解释: 1. 关系代数和SQL语言查询 在关系代数和SQL语言中,查询至少选修了一门其直接先行课...
存储过程是一组预编译的SQL语句,可以封装在一起并多次调用,提高代码复用性和安全性。触发器则在特定的数据库事件发生时自动执行,如INSERT、UPDATE或DELETE操作。 8. **事务管理** SQL支持事务,确保数据的一致...
SQL 语句基本练习题目 本节讲解了 SQL 语句的基本练习题目,包括创建表、插入数据、查询数据等基本操作。通过这些练习题目,读者可以熟悉 SQL 语句的基本语法和应用。 一、创建部门表 创建部门表的 SQL 语句如下...
MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...
以下是对标题“经典SQL语句—练习”和描述中涉及的一些基本知识点的详细说明: 1. **创建数据库**:使用`CREATE DATABASE`语句可以创建一个新的数据库,例如`CREATE DATABASE database-name`,这里的`database-name...
在SQL语句强化练习中,我们可以通过一系列查询来熟悉和增强对数据库操作的理解。下面将逐一解析题目中给出的问题及示例。 1. 查询选修课程名称为'税收基础'的学员学号和姓名: ```sql SELECT S.S#, SN FROM S JOIN ...
### SQL语句强化练习知识点详解 #### 一、简单查询 **知识点1:查询所有学生信息** - **SQL语句**: `SELECT * FROM 学生;` - 这条语句用于查询`学生`表中的所有列和所有行。 **知识点2:查询特定条件下学生信息*...
SQL语句强化练习工具 关于 写这小工具的一些说明 1 连接学校机房的SQL 经常卡(好大杯具) 2 有些同学或网吧的电脑 没装 SQL2008 3 每次课堂练习 都得先创个(浪费时间)
根据给定文件中的标题“SQL语句练习及答案”与描述“一个非常适合在笔试前看的SQL练习题。也可在在平时作为SQL语言练习题来使用”,我们可以看出这份材料主要包含了一系列针对SQL语言的练习题及其解答,适用于考前...
SQL语句练习、学生可以查看自学SQL相关语句的练习
关于查询的SQL练习题,上面附加有题目和答案,用得着的朋友可以参考下....
SQL 语句练习题 本节课练习题目涵盖了 SQL 语句的各种知识点,旨在考察学生对 SQL 语句的掌握程度。练习题目包括关系运算、定义表操作、查询语句操作、表数据操作、视图操作、授权操作、索引操作、匹配操作和触发器...
【SQL语句练习提高】 在SQL中,查询和操作数据是其核心功能。以下通过给出的练习题目,我们将深入理解SQL的基本句式和用法。 28. 题目要求从`employee`表中抽取部门名称(depart_name),计算平均工资(avg(wage)...
DDL用来创建数据库中的各种对象,包括数据库模式、表、视图、索引、同义词、聚簇等,它的基本语句有:CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE INDEX等。 (4)数据控制语言(DCL) DCL用来授予或回收...
这套"SQL语句典型练习题(5套含数据)"旨在帮助学习者巩固和提升SQL技能,通过实践操作来理解其基本语法、查询技巧以及高级特性。下面,我们将详细讨论SQL的一些关键知识点。 1. **SQL基本语法**:SQL主要包括...
全国计算机二级(vf)sql语句练习 本资源提供了多种SQL语句练习题,涵盖了基本的数据查询、数据归纳、数据排序、数据筛选等操作。每个练习题都提供了明确的需求和相应的解决方案,帮助学生更好地掌握SQL语句的使用...