1、选择部门20中的雇员
select *
from emp
where deptno = 20;2、列出所有办事员的姓名、编号和部门名称
select ename 姓名, empno 编号, deptno 部门名称
from emp
where job = 'CLERK';或者 【了解】
select e.ename 姓名, e.empno 编号, e.deptno 部门编号,(select d.dname from dept d where e.deptno = d.deptno) 部门名称
from emp e
where e.job = 'CLERK';3、找出佣金高于薪金的雇员
select *
from emp
where comm > sal;4、找出佣金高于薪金60%的雇员
select e.*, e.sal, e.sal * 0.6
from emp e
where comm > e.sal * 0.65、找出部门10中所有经理和部门20中的所有办事员的详细资料
部门10中所有经理
部门20中的所有办事员
select *
from emp
where (deptno = 10 and job = 'MANAGER') or(deptno = 20 and job = 'CLERK');6、找出收取佣金的雇员的不同工作
select job
from emp
where comm is not null and comm > 0
group by job;7、找出不收取佣金或收取的佣金低于100的雇员 【佣金是0】
select *
from emp
where comm is null or comm < 100;8、找出各月最后一天受雇的所有雇员
select last_day(sysdate) from dual;
select *
from emp
where hiredate = last_day(hiredate);9、找出早于25年之前受雇的雇员
select *
from emp
where  hiredate < add_months(sysdate, -25*12);
或者
select *
from emp
where add_months(hiredate, 25*12) < sysdate;10、显示只有首字母大写的所有雇员的姓名
select ename, substr(ename,1,1)
from emp
where substr(ename,1,1) >= 'A' and substr(ename,1,1) <= 'Z';11、显示正好为6个字符的雇员姓名
select ename
from emp
where length(ename) = 6;12、显示不带有'R'的雇员姓名
select ename
from emp
where ename not like '%R%';13、显示所有雇员的姓名的前三个字符
select substr(ename, 1, 3)
from emp;14、显示所有雇员的姓名,用a替换所有'A'
select ename, replace(ename, 'A', 'a')
from emp;15、显示所有雇员的姓名以及满10年服务年限的日期
select ename, add_months(hiredate, 10 * 12)
from emp;16、显示雇员的详细资料,按姓名排序
select *
from emp
order by ename;17、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
select *
from emp
order by hiredate;18、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
select ename,job,sal
from emp
order by job desc, sal asc;19、显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,
将最早年份的项目排在最前面
select e.ename, extract(YEAR from e.hiredate) 年份,extract(MONTH from e.hiredate) 月份
from emp e
order by 年份 asc,月份 asc;20、显示在一个月为30天的情况下所有雇员的日薪金
select e.*, round(nvl(sal, 0) / 30, 2)  日薪金
from emp e;21、找出在(任何年份的)2月受聘的所有雇员
select *
from emp
where extract(MONTH FROM hiredate) = 2;22、对于每个雇员,显示其加入公司的天数
-- 日期相减的结果就是天数
select round(sysdate - hiredate)
from emp;23、显示姓名字段的任何位置,包含 "A" 的所有雇员的姓名
select ename
from emp
where ename like '%A%';24、以年、月和日显示所有雇员的服务年限
selecttrunc(sysdate - hiredate) / 365 年份,trunc(sysdate - hiredate) / 30 月份,trunc(sysdate - hiredate) 天数
from emp;25、查询 emp表的员工编号、姓名、职位、年薪(薪资*13[13薪] +
补贴(300[餐补] + 180[交通补助])*12)。
select empno 编号, ename 姓名, job 职位, sal * 13 +
nvl(comm, 0) * 12 + (300 + 180) * 12 年薪
from emp;26、查询emp表中,基本工资高于1500的雇员的所有信息
select *
from emp
where sal > 150027、查询emp表中,基本工资<不>在 1200~2500之间 的雇员的所有信息
select *
from emp
where sal not between 1200 and 2500;28、查询emp表中,所有时间 hiredate 在1981年雇佣的雇员信息。1981年指:
(1981-01-01~1981-12-31)
select *
from emp
where hiredate between to_date('1981-01-01','yyyy-mm-dd') andto_date('1981-12-31','yyyy-mm-dd');29、查询emp表中,编号是 7499 或是 7844 或是 9999 或是 7566 的雇员信息。
select *
from emp
where empno in (7499, 7844, 9999, 7566);30、查询emp表中,雇员姓名以 S字符结尾的雇员信息
select *
from emp
where ename like '%S';31、查询emp表中,雇员姓名的第二位字符是 A 的雇员信息
select *
from emp
where ename like '_A%';32、查询 emp 表中每个部门的不同工种,要求结果按照部门编号升序
select deptno,job
from emp
group by deptno,job
order by deptno;33、查询emp表中每个部门下不同工种的人数大于等于2记录
select deptno,job,count(1)
from emp
group by deptno,job
having count(1) >= 2;34、查询emp表中薪资在3000以上员工的人数
select count(1)
from emp
where sal >= 3000;35、查询emp表中所有销售员的薪资总和
select sum(sal)
from emp
where job = 'SALESMAN';36、查询出所有销售员全年工资总和以及所有经理的全年工资总和
(工资 = 每个月 薪金13薪 + 佣金 + 300餐补 + 200交通补助)
-- 分组和聚合结合使用
select job,sum(sal * 13 + nvl(comm,0) * 12 + (300 + 200) * 12)
from emp
where job = 'SALESMAN' or job = 'MANAGER'
group by job;37、查询出各个部门下面所有员工的工资总和大于120000的人数, (工资 = 每个月 薪金13薪 + 佣金 + 300餐补 + 200交通补助)
select deptno,sum(sal * 13 + nvl(comm,0) * 12 +
(300 + 200) * 12) 工资总和, count(1)
from emp
group by deptno
having sum(sal * 13 + nvl(comm,0) * 12 + (300 + 200) * 12) > 120000;38、查询出工资在1500元以下,1500元~3000元之间,3000元以上员工的人数
selectsum(case when sal < 1500 then 1 else 0 end),sum(case when sal between 1500 and 3000 then 1 else 0 end),sum(case when sal > 3000 then 1 else 0 end)
from emp;或者selectcount(case when sal < 1500 then 1 else null end),count(case when sal between 1500 and 3000 then 1 else null end),count(case when sal > 3000 then 1 else null end)
from emp;39、查询工资最高的员工信息  DELETE
-- 子查询
select *
from emp
where sal = (select max(sal) from emp);40、查询出各个部门下所有员工的人数,以及平均工资,最高工资,最低工资, 总工资
select deptno,count(1), round(avg(sal),2), max(sal), min(sal), sum(sal)
from emp
group by deptno;41. 统计每个职位下所有员工的平均工资中最高的平均薪资
select job, round(avg(sal))
from emp
group by job;select max(round(avg(sal), 2))
from emp
group by job;42. 统计员工表中职位的个数
select job,count(1)
from emp
group by job;或者select distinct job
from emp
select count(distinct job)
from emp;

sql的emp,dept小总结相关推荐

  1. sql语句两个练习 emp dept 复杂查询

    查询指定列 select sal from emp WHERE ename='SMITH'    //转换成小写也行 如何取消重复行    统计共有多少个部门编号 distinct只能消除完全一样的行 ...

  2. PL/SQL题库三·EMP/DEPT/WORK(8题)

    三.题库三(8题) emp 列名 类型 描述 EID VARCHAR2(6) 员工编号 ENAME VARCHAR2(10) 员工姓名 BDATE date 生日 SEX VARCHAR2(1) 性别 ...

  3. stringbuffer mysql_javascript制作sql转换为stringBuffer的小工具

    sql转换为stringBuffer的小工具,dao层拼接sql很麻烦,用这个小工具可以快速拼接,把写好的sql在sql工具中格式化好,然后复制进去就可以了 代码 change SQL var ie ...

  4. SQL Server编写存储过程小工具(三)

    SQL Server编写存储过程小工具  功能:为给定表创建Update存储过程  语法: sp_GenUpdate <Table Name>,<Primary Key>,&l ...

  5. 实战 SQL:销售数据的小计/合计/总计以及数据透视表

    文章目录 小计.合计与总计 多维度交叉统计 自定义统计维度 数据透视表 总结 学习过 SQL 的人都知道,使用聚合函数(AVG.SUM.COUNT.MIN/MAX 等)和分组操作(GROUP BY)可 ...

  6. oracle scott 关系图,oracle下scott用户的四张表(emp,dept,bonus,salgrade)的建表语句:

    scott用户的四张表(emp,dept,bonus,salgrade)的建表语句 emp -- Create table create table EMP ( empno NUMBER(4) not ...

  7. SQL语句优化经典小技巧

    1,对于MyISAM引擎,当导入大批量数据的时候,可以先将他的一些keys禁用掉: alter table table_name disable keys; 再加载数据:loading data; 再 ...

  8. SQL Server实用操作小技巧集合

    包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等 (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这 ...

  9. sql查询复习笔记-小技巧,大智慧(续一)

    3.回答有关"至少"的问题 前言:"至多"的对立面是"至少".通常,采用"至多"问题中表述的技巧变体,就可以解决&quo ...

最新文章

  1. 什么是标签传播算法?为什么要使用标签传播算法?如何使用?
  2. rsa php前面,PHP使用非对称加密算法(RSA)
  3. laravel 模版引擎使用
  4. 让linux的防活墙也像windows一样简单易用
  5. 文献记录(part22)--Learning local metrics from pairwise similarity data
  6. 学习STL map, STL set之数据结构基础
  7. 解决:idea - maven project 中 jar 报红线
  8. 技术动态 | eBay开源分布式知识图谱存储Beam,支持类SPARQL查询
  9. 几个容器网络相关问题的分析和解决总结(续1)
  10. python相关性分析特征过滤_Python相关性分析
  11. 美国团购巨头是怎样衰落的
  12. 启用windows功能NetFx3时出错
  13. 【论文解读】VDN( Variational Denoising Network )变分去噪网络
  14. ES报错处理-mapper [xx.xx] of different type, current_type [text], merged_type [keyword]
  15. 在线生成透明ICO图标神器
  16. 2021世界量子计算机排名,2021 QS世界大学学科排名如期出炉啦!
  17. 天津大学计算机专业考研考什么,天津大学计算机专业考研难吗
  18. javaScript 如何使用js追加字符串呢?
  19. 【面试记录】基恩士2023招聘
  20. JQuery绘制北京地铁线路图

热门文章

  1. MediaWiki在Windows安装部署——部署mediawiki
  2. 360宽带测速器怎么用 360测试如何在线测网速
  3. 基于SSH架构的在线答疑系统
  4. 计算机工程实践 课程大纲,《计算机专业》实习教学大纲.doc
  5. 谈谈wxHOOK为什么会限制
  6. 从电焊女工到Google台湾总经理
  7. 亲历2012百度开发者大会
  8. USB Device(VID_1f3a_PID_efe8)
  9. Java实现安卓连接商米POS收银机打印小票功能
  10. Vue 3 快速上手