Oracle 练手系列(一)

简介:

1.列出至少有一个员工的所有部门。

第一种

select dname from dept
where exists (
      select * from emp where emp.deptno = dept.deptno
);

第二种

select dname from dept where deptno in(select deptno from emp); 
 

第三种

select dname
  from dept
 where deptno in
       (select deptno from emp group by deptno having count(deptno) >= 1);

2.列出薪金比“SMITH”多的所有员工。
 

第一种

 SELECT * FROM EMP WHERE SAL > (
select SAL from emp where ename='SMITH');

第二种

select * from emp 
where exists (
      select * from emp e2 where e2.sal < emp.sal and e2.ename = 'SMITH'
);

第三种

 SELECT * FROM EMP WHERE SAL >any (
select SAL from emp where ename='SMITH');

 --3.列出所有员工的姓名及其直接上级的姓名。

第一种

select emp.ename, boss.ename boss_name from emp
left join emp boss on boss.empno= emp.mgr;

第二种

select emp.ename, (select ename from emp boss where boss.empno = emp.mgr) as boss_name
  from emp;

--------4.列出受雇日期早于其直接上级的所有员工。----------

第一种
select a.ename from emp a where a.hiredate<(select hiredate from emp b where b.empno=a.mgr);

第二种

select emp.ename from emp 
       left join emp boss on boss.empno = emp.mgr
       where emp.hiredate <boss.hiredate

第三种

select emp.ename from emp 
where exists (
      select * from emp boss where boss.empno = emp.mgr and boss.hiredate > emp.hiredate
)

5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门----------

select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.deptno
from dept a left join emp b on a.deptno=b.deptno;

 

--6.列出所有“CLERK”(办事员)的姓名及其部门名称。----------

select emp.ename,dept.dname from emp 
left join dept on emp.deptno = dept.deptno
where job ='CLERK'

--------7.列出最低薪金大于1500的各种工作。----------

第一种
select distinct emp.job from emp 
group by emp.job
having min(emp.sal) >1500;

第二种
select distinct emp.job from emp,
(
       select distinct emp.job, min(emp.sal)over(partition by emp.job) as v from emp
) t  where t.job = emp.job and t.v >1500

8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。----------
第一种

select ename from emp where deptno=(select deptno from dept where dname='SALES');

第二种

select emp.ename from emp 
left join dept on dept.deptno = emp.deptno
where dept.dname = 'SALES';

第三种
select ename from emp 
where exists
(select deptno from dept where dept.deptno = emp.deptno and dept.dname='SALES');



本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/660092,如需转载请自行联系原作者

相关文章
|
1月前
|
缓存 小程序 开发工具
最新原创uniapp+vue3仿微信界面聊天app系统
最新原创研发uniapp+vue3实战跨端仿微信App界面聊天程序。支持运行到H5+小程序+APP端。
105 5
最新原创uniapp+vue3仿微信界面聊天app系统
|
2月前
|
人工智能 分布式计算 DataWorks
多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
阿里云ODPS技术栈通过MaxCompute、Object Table与MaxFrame等核心组件,实现了多模态数据的高效处理与智能分析。该架构支持结构化与非结构化数据的统一管理,并深度融合AI能力,显著降低了分布式计算门槛,推动企业数字化转型。未来,其在智慧城市、数字医疗、智能制造等领域具有广泛应用前景。
250 6
多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
|
4月前
|
机器学习/深度学习 人工智能 安全
AI的万亿商机:红杉资本眼中的人工智能新时代
AI不仅仅是不可避免的趋势,而是已经到来的现实,其市场规模将远超过去的任何一次技术变革。这不是一场可以观望的比赛,而是一场必须全力以赴参与的革命。
228 22
|
4月前
|
人工智能 小程序 计算机视觉
AI不只有大模型,小模型也蕴含着大生产力
近年来,AI大模型蓬勃发展,从ChatGPT掀起全球热潮,到国内“百模大战”爆发,再到DeepSeek打破算力壁垒,AI技术不断刷新认知。然而,在大模型备受关注的同时,许多小而精的细分模型却被忽视。这些轻量级模型无需依赖强大算力,可运行于手机、手持设备等边缘终端,广泛应用于物体识别、条码扫描、人体骨骼检测等领域。例如,通过人体识别模型衍生出的运动与姿态识别能力,已在AI体育、康复训练、线上赛事等场景中展现出巨大潜力,大幅提升了相关领域的效率与应用范围。本文将带您深入了解这些高效的小模型及其实际价值。
|
6月前
|
前端开发 数据可视化 安全
82.7K star!大气炫酷UI开源项目,超级火!
shadcn/ui 是一款基于 Radix UI 和 Tailwind CSS 构建的现代化 UI 组件库,专为追求设计品质与开发效率的开发者打造。不同于传统组件库,它提供完全可定制的组件代码模板,让开发者既能享受开箱即用的便利,又能保持对设计系统的完全掌控。
172 13
|
6月前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离开发中,API调试至关重要。本文探讨有无调试工具时如何高效调试API,重点分析Postman、Swagger等工具优势及无工具代码调试方法。通过实际场景如用户登录接口,对比两者特性。同时介绍Apipost-Hepler(IDEA插件),将可视化与代码调试结合,提供全局请求头配置、历史记录保存等功能,优化团队协作与开发效率,助力API调试进入全新阶段。
|
6月前
|
人工智能 前端开发 程序员
通义灵码2.0 AI 程序员体验
通义灵码AI程序员全面上线,作为国内首个真正落地的AI程序员,支持Qwen2.5-Max等模型并适配VS Code与JetBrains IDEs。它在新功能开发中快速生成代码框架,助力跨语言编程、自动生成单元测试,还能智能分析错误信息提供修复建议。体验活动显示,通义灵码2.0在代码生成、单元测试和跨语言编程上效率显著提升,极大优化开发者工作流程,成为不可或缺的智能助手。
198 3
|
人工智能 开发者
7月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区7月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
3395 81
7月更文挑战赛火热启动,坚持热爱坚持创作!
|
8月前
|
自然语言处理 运维 Ubuntu
操作系统智能助手OS Copilot新功能评测
OS Copilot是阿里云基于大模型构建的操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能,帮助用户更高效地使用Linux系统。主要优势包括智能学习、专业解答、高效协作和便捷的阿里云CLI调用。支持的操作系统有Alibaba Cloud Linux、Ubuntu、Anolis OS和CentOS等。通过简单的命令行操作,用户可以轻松安装、升级或卸载OS Copilot,并利用其多种功能提升工作效率。具体使用方法包括单命令模式、交互模式及问号指令,适用于不同场景下的需求。
226 0
|
10月前
|
Python
Matplotlib 安装
Matplotlib 安装
187 3