第一章
1. 创建名字为hy_tablespace的表空间,默认大小为10M;
2. 创建一个用户,用户名以自己名字命名,并指定命名空间为hy_tablespace;
3. 给用户授予connect和resource角色; 4. 创建一张员工表(Emp),字段定义如下
empno NUMBER(4), 员工编号 ename VARCHAR2(10), 员工姓名 job VARCHAR2(9), 岗位
mgr NUMBER(4), 上级领导编号 hiredate DATE,
生日
sal NUMBER(7,2), 工资 comm NUMBER(7,2), 奖金 deptno NUMBER(2) 部门编号 5. 将员工编号设置成主键; 6. 创建一个部门表,字段如下
deptno NUMBER(2) , 部门编号 dname VARCHAR2(14), 部门名称 loc VARCHAR2(13) 部门位置 7. 将部门编号设置为主键;
8. 将Emp表中的ename设置为非空。
9. 将dept表中的dname设置为非空。
10. 将Emp表中的deptno字段设置默认值,默认值为10。 11. 将Emp表中的deptno字段添加外键约束,关联到dept表中的deptno字段。
12. 创建一个序列,名为seq_hy,起始值为1,步长为1,没有最大值限制。
13. 怎样理解数据库和数据库实例的区别? 14. 怎样理解权限和角色的区别?
15. char和varchar2数据类型有什么区别?
第二章
修改表结构
1. 将Emp表中job字段长度改为15; 2. 将Emp字段中的mgr字段名字改为ldn; 3. 向Emp表中添加一个字段性别(sex char(3)); 4. 删除Emp表中的员工性别字段; 5. 删除Emp表;
数据控制语言
重新构建Emp表
1. 给Emp表授予resource权限; 2. 给Emp表授予connect权限;
3. 收回Emp表的resource权限和connect权限;
数据操作语言
1. 查询员工的所有信息; 2. 查询部门表的所有信息; 3. 查询员工的姓名和工资; 4. 查询员工的姓名和部门编号; 5. 查询部门的名称和所在位置; 6. 查询公司的所有岗位,要求不重复。 7. 向部门表中插入四条数据
部门编号 部门名称 部门位置 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 8. 向员工表中插入三条数据:
编号 姓名 岗位 上级编号 生日 工资 奖金 部门号 7369, 'SMITH', 'CLERK', 7902, 17-12-1980 800, null, 20 7499, ALLEN ,SALESMAN , 7698, 20-02-1981 1600, 300, 30 7521,'WARD', 'SALESMAN', 7698, 22-02-1981, , 1250, 500, 30 9. 向员工表中插入两条数据,如下: 员工编号 员工姓名 员工工资
7566 'JONES' 2975 7654 'MARTIN' 1250 10. 将SMITH的工资改为1000;
11. 将ALLEN的岗位改为CLERK,并且将工资改为1400; 12. 将工资低于2000的员工工资提高200元; 13. 将没有奖金的员工的奖金设置为100元 14. 将没有奖金的员工工资提高100元; 15. 删除工资少于800元的员工; 16. 删除1988/4/12入职的员工
17. 删除工资在2000到3000元之间的员工。 18. 查询所有员工能拿的总钱数; 19. ALLEN的本月工资扣除200元; 20. 查询所有员工的姓名和年工资; 21. 查询20号部门的所有员工信息; 22. 查询奖金高于工资的员工信息
23. 查询工作岗位为CLERK的员工的姓名和生日 24. 如何显示工资高于3000的员工?
25. 如何查找在1982年1月1日之前入职的员工? 26. 如何显示工资在2000到2500的员工?
27. 如何显示编号为7369或者 189或者7499的员工信息? 28. 如何查询出工资是800或者1250或者是3000或者是1100或者是10的员工的姓名和工资?
29. 如何显示没有上级的员工的信息? 30. 如何显示没有奖金的员工信息?
31. 查询上级领导编号不在7698, 7839的员工信息? 32. 查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首写字母为J的员工信息? 33. 查询员工的姓名和工资,并当做一列返回? 34. 查询员工的姓名和年工资,并且当做一列返回?
事务控制语言
35. 设置一个保存点point1,修改SMITH的工资为5000元,回滚到,提交事务,看SMITH的工资是否变化?为什么? 36. 设置一个保存点point1,修改SMITH的工资为5000,再设置一个保存点point2,修改ALLEN的岗位为SALESMAN,回滚到point2,提交事务,查看SMITH的工资是否改变,为什么?查看ALLEN的岗位是否改变,为什么?
第三章
1. 如何显示所有员工中的最高工资和最低工资? 2. 如何显示所有员工中最高和最低的年工资员工信息? 3. 如何显示所有员工的平均工资和工资之和? 4. 如何显示工资最高的员工的名字和工作岗位? 5. 如何显示工资高于平均工资得到员工的信息?

