1、from empwhere commsal*0.6;5.select empno ,ename, job,hiredate,sal,comm,deptnowhere( job=MANAGER and deptno=10)or( job= and deptno=20);6.select empno,ename,job, hiredate,sal, deptnowhere ( job= and deptno=20)or(job and job=2000);7.select distinct ename,job,commwhere NVL(comm,0)0;注意假如像上面如此写,就 job enam
2、e comm 3个同时不同的都列出来正确的是:select distinct job8.select ename,comm. from emp where NVL(comm,0)=0 or NVL(comm,0)100;假如按上面的写法就重复了,直接能够写成select ename,commwhere NVL(comm,0)1211.select initcap(ename) name ,job, hiredate12. select ename,job,hiredate from emp where length(ename)=5;13 select ename, job from emp
3、where ename not like %R%14.select substr(ename, 1,3) name,job,hiredate from emp;15select replace(ename, A,a) name,job,hiredate from emp;16select ename, job, hiredate from emp=10;17. select * from emp order by ename;18.select ename, hiredate from emp order by hiredate desc;19.select ename,job, sal fr
4、om emp order by job desc, sal asc;20.select ename, to_char(hiredate,yyyy) year, to_char(hiredate,mm) monthsorder by months, year asc;21.select ename, sal/30 dailysal22. select ename, hiredatefrom empwhere to_char(hiredate,)=0223. select ename,sysdate-hiredate 天数 from emp;24.select ename from emp whe
5、re instr(ename,1)25. select ename, to_char(hiredate,yyyy/mm/dd) from emp;-26.列出至少有一个职员的所有部门. selectdnamefromemp,deptwhereemp.deptno=dept.deptnogroupbydname; distinctemp.deptno=dept.deptno;-讲明:(1)select中出现的字段一定要出现在groupby中;-(2)假如select中出现的字段不出现在groupby中,则一定要出现在select的聚合函数中,关于想出现的字段,可用max()或min()。(3)默
6、认的情况是按groupby中的字段来排序,假如要用orderby来自己排序,则orderby后的字段一定是groupby后的字段,不能是聚合函数的字段 -27.列出薪金比“SMITH”多的所有职员. ename,salemp(selectupper(ename)=SMITH);-28.列出所有职员的姓名及其直接上级的姓名. a.ename,b.enamemgrnamea,empba.mgr=b.empno;-29.列出受雇日期早于其直接上级的所有职员 e.ename,m.enamee,me.mgr=m.empnoand(e.hiredatepe.deptno=p.deptno);-52.给所有
7、10部门的经理(MANAGER)和20部门的职员(CLERK),增加薪金10%。updatesetsal=sal*(1+0.1)(deptno=10upper(job)=or(deptno=20-53.删除DEPT中没有职员的部门。deletenot-54.删除雇佣年限低于20年的职员。trunc(sysdate-hiredate)365*20;1. 查询所有雇员姓名以及其全年收入(工资+奖金),并指定列不名为“年收入”。 select ename,12*(sal+nvl(comm,0) as年收入 from emp;2. 查询有雇员的所有部门的部门号和部门名称。 select empno,e
8、name,dept.dname,dept.deptno from emp,dept where emp.deptno=dept.deptno;3. 查询工资超过2850的雇员姓名和工资。 select ename, sal from emp where sal2850;4. 查询工资不在1500到2850之间的所有雇员姓名和工资。 select ename, sal from emp where sal not between 1500 and 2850;5. 查询10号部门和30号部门工资超过1500的雇员姓名和工资。 select ename, sal from emp where sal
9、 (select avg(sal) from emp);19. 查询工资、奖金与SCOTT完全相同的所有职员的姓名、工资和奖金。 select ename,sal, comm from emp where (sal,nvl(comm,-1) in (select sal,nvl(comm,-1) from emp where ename=) ;20. 查询81年入职的职员 select * from emp where to_char(hiredate, yy)= 8121. 按年月日查询职员信息 select to_char(hiredate, )from emp;22. 向DEPT表中插入
10、一条数据,要求:部门号为50,部门名称为ADMINISTRATOR,部门位置为BOSTON。 Insert into dept values(50, ADMINISTRATORBOSTON23. 向EMP表中插入一条数据,要求:职员号为2000,姓名为JOHN,工资为1000,入职时刻为2003年4月7日,部门号为30号。 Insert into emp (empno,ename,sal,hiredate,deptno) values(2000, JOHN,1000, 07-4月-03,30);24. 给10号部门的每个雇员增加10%的工资。然后提交事务。 Update emp set sal
11、=sal*1.1 where deptno=10; commit25. 删除50号部门。然后回滚事务。 Delete from dept where deptno=50; Rollback;新建一张学员信息表(student),要求:1. 字段如下:学号(sid),姓名(name),性不(sex),年龄(age),地址(address)2. 分不为字段添加约束:学号为主键,姓名为非空,性不为检查约束,年龄为检查约束,地址为默认约束3. 为表建立自增值(sid), 建议初始值从为 1001, 增量为 1. 4. 插入记录新建一张课程表(course),要求:课程编号(cid),课程名称(subject)课程编号为主键,课程名称为非空3. 为表建立自增值(cid), 建议初始值从为 1, 增量为 1. 新建一张学员考试成绩表(grade),要求:成绩编号(gid),学号(sid),课程编号(cid),考试成绩(scor
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1