练习基于Oracle数据库中SCOTT用户下的emp表
- 查询scott用户下的所有表
select * from tabs;
- 查询雇员表中的全部信息
select * from emp;
- 查询雇员编号,姓名,工作,工资。
select empno,ename,job,sal from emp;
- 查询雇员编号,姓名,工作,工资,列表标题需中文显示。
SELECT empno "雇员编号",ename "雇员姓名" ,job "工作",sal "工资" from emp;
- 查询雇员工作种类。
select distinct job from emp;
- 查询所有雇员编号,姓名,工作.按以下格式显示:编号:7369-姓名:SMITH-工作:CLERK (返回一个列)
select '编号:' || empno || '-姓名:' || ename || '-工作:' || job as 详情 from emp;
- 查询雇员编号,姓名,工作,年薪
select empno,ename,job,(sal + nvl(comm,0))*12 YearlySalary from emp;
- 查询工资大于1500的雇员所有信息
select * from emp where sal >1500;
- 查询可以得到奖金的雇员的名字与奖金
select ename,comm from emp where NVL(comm,0)>0;
select ename,comm from emp where DECODE(comm,null,0,comm) > 0;
- 查询工资大于1500或可以得到奖金的雇员
select ename from emp where sal > 1500 or nvl(comm,0) > 0;
select ename from emp where sal > 1500 or DECODE(comm,null,0,comm) > 0;
- 查询工资大于1500并且可以领取奖金的雇员
select ename from emp where sal > 1500 and nvl(comm,0) > 0;
select ename from emp where sal > 1500 and DECODE(comm,null,0,comm) > 0;
- 查询工资不大于1500或者不可以领取奖金的雇员
select ename from emp where sal <= 1500 or nvl(comm,0) = 0;
- 查询工资在1500到3000的所有雇员信息
select * from emp where sal >=1500 and sal <= 3000;
- 查询系统当前时间
select sysdate from dual;
- 查询在1981年雇用的员工信息
select * from emp where hiredate like '%81%';
select * from emp where to_char(hiredate,'YYYY') = '1981';
select * from emp where hiredate <= to_date('1981-12-31','YYYY-mm-dd') and hiredate >= to_date('1981-01-01','YYYY-mm-dd');
select * from emp where hiredate between to_date('1981-01-01','YYYY-mm-dd') and to_date('1981-12-31','YYYY-mm-dd');
- 查询雇员姓名中第三个字母为”A”的雇员信息
select * from emp where ename like '__A%';
- 查询雇员编号为7369的雇员信息
select * from emp where empno = '7369';
- 查询雇员编号不为7369的雇员信息
select * from emp where empno != '7369';
select * from emp where empno <> '7369';
- 查询编号是7369,7900的雇员信息
select * from emp where empno in (7369,7900);
- 查询编号不是7369,7900的雇员信息
select * from emp where empno not in (7369,7900);
- 查询雇员信息,按工资由低到高排序
select * from emp order by sal;
select * from emp order by sal asc;
- 查询雇员信息,按工资由高到低排序
select * from emp order by sal desc;
- 请查询没有领导的员工名和职位
select ename,job from emp where mgr is null;
- 查询有领导的员工名和职位
select ename,job from emp where mgr is not null;
- 查询所有员工名、职位以及领导名
select e1.ename,e1.job,e2.ename from emp e1,emp e2 where e1.mgr = e2.empno(+);
- 查询部门30中的所有员工信息
select * from emp where deptno = 30;
- 列出所有办事员(CLERK)的姓名,编号和部门编号(按部门编号升序排列)
select ename,empno,deptno from emp where job = 'CLERK' order by deptno;
- 找出佣金高于薪金的员工
select * from emp where nvl(comm,0) > sal;
- 找出佣金低于薪金的40%的员工信息
select * from emp where nvl(comm,0) < sal*0.4;