sql阶段性考试一

发布时间:2014-10-25 2:24:19
来源:分享查询网

---------------------------------sql阶段性考试一----------------------------------------------1、找出各月最后一天受雇的所有雇员.select * from emp e where e.hiredate in(select last_day(e.hiredate)from emp e);--2、找出早于82年之前受雇的雇员select * from emp e where (to_date('1982-1-1','yyyy-mm-dd')) > e.hiredate;--3.找出在(任何年份的)2月受雇的所有雇员select * from emp e where to_char(e.hiredate) like '%-2月 -%';--4、以年、月和日显示所有雇员的受雇日期.select to_char(e.hiredate,'yyyy"年"mm"月"dd"日"')from emp e;--5、计算2001-1-2和2008-1-2相差的月数select months_between(to_date('2008-1-2','yyyy-mm-dd'),to_date('2001-1-2','yyyy-mm-dd')) from dual;--6、将123456以123,456.0转换select to_char(123456,'0000,000.0')from dual;select to_char(123456,'9999,999.9') from dual;--7、将123456以0123,456.0转换select to_char(123456,'0000,000.0') from dual;--8、将"RMB123,4.234,555"转换成数字select to_number(replace(substr('RMB123,4.234,555',4),',',''))from dual;--9、将"$123,4.234,555"转换成数字select to_number(replace(substr('$123,4.234,555',2),',',''))from dual;--(9)、将"$1234.234555"转换成数字select to_number(substr('$1234.234555',2))from dual;--10、20年前的今天是星期几 select to_char(add_months(sysdate,-20*12),'day') 星期几 from dual;##error select to_char(to_date('1989-4-21','yyyy-mm-dd'),'d')-1 from dual;--11、创建用户表userinfo(有name,sex,age,password)要求都为小写drop table "userinfo";drop table userinfo;create table userinfo(name varchar2(20),sex varchar2(4),password varchar2(10));create table "userinfo"("name" varchar2(20),"sex" varchar2(4),"password" varchar2(10));commit;--12、向userinfo表中添加几条个信息insert into userinfo(name,sex,password) values('left','man','123456');insert into "userinfo"("name","sex","password") values('right','man','45');commit;--13、使用修改语句修改userinfo表中的信息update userinfo set name='doIt';update "userinfo" set "name"='doIt';--14、删除userinfo表中指定的记录delete "userinfo" where "password"='45';delete userinfo where password='45';--15、删除userinfo表drop table userinfo;drop table "userinfo";--16、写一个sql脚本需要使用到连接运算符,并且显示单引号select '['''e.ename from emp e ;--17、写一个sql脚本需要使用到算术运算符select e.sal*12 from emp e;--18、写一个sql脚本需要使用的模糊查询,能够查询特性字符“_和%”,并排序select * from emp e where e.ename like 'S%';select * from emp e where e.ename like 'S____';--19、写一个sql脚本可以查询空值select * from emp e where e.comm is null;--20、写一个sql脚本使用in来查询部门编码为10和20的所有信息select * from emp e where e.deptno in(10,20);21、去除emp表中重复的记录select distinct(*) from emp e ;--22、按条件查询emp中的信息 工资大于1000并且部门编号为10或者姓名中不包含字母A的所有记录select * from emp e where (e.sal>1000 and e.deptno=10) or (e.empno not like '%A%');--23、查询emp表中工资大于1000小于5000的所有员工的信息select * from emp e where e.sal between 1000 and 5000;--24、数据库分类网状数据库,层次数据库关系型数据库面向对象型数据库--25、E-R图三要素实体,联系,属性--26、SQL语句分类(oracle)数据操作语言语句[Data manipulation language,DML]数据定义语言语句[Data definition language,DDL]事务控制语句[transaction control statement]会话控制语句[session control statement]--27、介绍oracle中的常用函数(至少8个)grant to_char to_number trim sysdate replace trunc months_between round last_day--28、介绍数据库、数据库管理系统、数据库管理员、数据库系统数据库(DB):用来储存数据的仓库数据库管理系统(DBMS):用来管理数据库的软件。数据库管理员(DBA):通过数据库管理系统管理数据库的人员。数据库系统(Database system):应用程序,数据库管理系统,数据库共同组成了数据库系统。--29、介绍常用常用SQL指令select:查询命令,用以查询数据库中的信息。update:用以修改数据库表中的信息。insert:在表中插入数据。delete:从表中删除信息。create:创建表。drop:删除表。alter:修改表的结构。--30、数据模型三要素:数据结构数据操作数据的完整性约束--31、查询出雇员表中工资在1000和3000之间或姓名中包含“A”并且部门编码不在10号部门的所有记录并排序select * from emp e where (e.sal between 1000 and 3000) or (e.empno like '%A%' and e.deptnonot in(10)) order by e.empno;--32、查询出雇员表中工资在1000和3000之间并且部门编号不再10号部门的或者姓名中不包含“A”的所有记录并排序select * from emp e where (e.sal between 1000 and 3000) and ((e.ename not like '%A%') and(e.deptno not in(10))) order by e.empno;--33、找出佣金高于薪金60%的雇员select * from emp e where e.comm>e.sal*0.6;--34、找出部门10中所有经理、部门20中所有办事员以及部门为空值的记录select * from emp e where (job='MANAGER' and e.deptno=10) or (job='CLERK' and e.deptno=20) or(e.deptno is null)##(error)select * from emp e where (e.empno in(select mgr from emp) and e.deptno=10) or(e.deptno=20 )or(e.deptno is null);--35、找出收取佣金的雇员并且工资大于1000的员工select * from emp e where e.comm is not null and e.comm>1000;--36、找出不收取佣金或收取的佣金低于100的雇员select * from emp e where e.comm is null or e.comm<1000;--37、显示雇员的详细资料,按姓名降序排序select * from emp e order by e.ename desc;--38、显示部门30中的雇员select * from emp e where e.deptno=30;--39、查询雇员表中comm为空值的所有信息select * from emp e where e.comm is null;--40、查询雇员表中comm不为空值的所有信息select * from emp e where e.comm is not null;

返回顶部
查看电脑版