首页 运维知识 有关Oracle中scott用户下基本表练习SQL语句

有关Oracle中scott用户下基本表练习SQL语句

–选择部门中30的雇员 SELECT * from emp where DEPTNO=30; –列出所有办事员的姓名、部门、编号 –采用内连接方…

–选择部门中30的雇员
SELECT * from emp where DEPTNO=30;
–列出所有办事员的姓名、部门、编号
–采用内连接方式,也就是等值链接,也是最常用的链接
SELECT ename,empno,dname from emp e INNER JOIN
dept d on e.deptno=d.deptno where job=’CLERK’;
–找出佣金高于薪金的雇员
select * from emp where comm>sal;
–找出佣金高于薪金60%的雇员
select * from emp where comm>sal*0.6;
–找出部门10中所有经理和部门20中所有办事员
select * from emp where(deptno=10 and job=UPPER(‘manager’))
or (deptno=20 and job=’CLERK’);
–找出部门10中所有经理和部门20中所有办事员,既不是经理也不是办事员,
–但是其薪金>=2000的所有雇员的资料
select * from emp where(deptno=10 and job=UPPER(‘manager’))
or (deptno=20 and job=’CLERK’)
or (job<>upper(‘manager’) and job<>upper(‘clerk’) and sal>=2000);
–找出收取佣金的雇员的不同工作
select distinct job from emp where comm>0;
–找出不收取佣金或者是佣金低于100的雇员
select * from emp where nvl(comm,0)<100;
–找出各月最后一天受雇的所有雇员
select * from emp where hiredate=last_day(hiredate);
–找出早于25年之前受雇的员工
select * from emp
where “MONTHS_BETWEEN”(sysdate, HIREDATE)/12>25;
–显示只有首字母大写的所有雇员的姓名
–“INITCAP”(ch)函数是将每个单词的第一个字母大写,其他字母变为小写
select ename from emp where ename=initcap(ename);
–显示正好为6个字符的雇员的姓名
select ename from emp where length(ename)=6;
–显示不带有like的雇员的姓名
select ename from emp where ename not like ‘%R%’;
–或者是这样写
select ename from emp where instr(ename,’R’)=0;
–显示所有雇员姓名的前三个字母
select substr(ename,1,3) from emp;
–显示所有雇员的姓名,用a替代A
select replace(ename,’A’,’a’) from emp;
–显示所有雇员的姓名以及满10年服务年限的日期
select ename ,add_months(hiredate,12*10) as 服务年限的日期 from emp;
–显示雇员的详细资料,按姓名排序
select * from emp order by ename ;
–显示雇员的姓名,根据其服务年限,将最老的的雇员排在最前面
select ename from emp order by hiredate desc;
–显示所有雇员的姓名、工作和薪金,按工作的降序排序,工作相同的按薪金进行升序排序
select ename,job,sal from emp order by job desc,sal asc;
–显示所有雇员的姓名和加入公司的年份和月份
–按雇员受雇日期所在月排序,将最早年份的项目排在最前面
select ename,”TO_CHAR”(hiredate,’yyyy’) as 年份,”TO_CHAR”(hiredate,’mm’) as 月份
from emp order by hiredate asc;
–显示在一个月为30天的情况下所有雇员的日薪金
select sal/30″日薪金” from emp;
–找出在任何年份2月受聘的所有雇员
select ename as 雇员姓名,hiredate as 受雇日期
from emp where to_char(hiredate,’mm’)=’02’;
–对于每个雇员,显示其加入公司的天数
select ename,sysdate-hiredate from emp;
–显示在姓名中包含有字母A的雇员的姓名
select ename from emp where ename like ‘%A%’;
–或者
select ename from emp where instr(ename,’A’,1)>0;
–查看当前用户下的所有表
select * from tab;

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

dell R710 更换raid卡后,raid卡信息没有了,处理方案

dell R710 更换raid卡后,raid卡信息没有了,处理方案

1.将一台服务器(A)的硬盘依次拔出,按相同顺序插入另一台同样配置的服务器(B) 2.启动服务器(B) 3.按提示键盘按...
PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

下载 并安装 PL SQL Developer 13,默认支持中文语言 ========================...
关于一条sql语句在mysql中是如何执行的

关于一条sql语句在mysql中是如何执行的

最近开始在学习mysql相关知识,自己根据学到的知识点,根据自己的理解整理分享出来,本篇文章会分析下一个sql语句在my...
关于sql注入姿势总结(mysql)

关于sql注入姿势总结(mysql)

前言 学习了sql注入很长时间,但是仍然没有系统的了解过,这次总结一波,用作学习的资料。 从注入方法分:基于报错、基于布...
关于Oracle SQL外连接

关于Oracle SQL外连接

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。 连接...

发表回复

返回顶部