二、数据库部分
已知表:
Create Table Department
( dept_id varchar(2) not null, – 部门编号
dept_name varchar(20) not null, -- 部门名称
dept_leader varchar(10) –部门经理
);
Create Table Personnel
( id varchar(4) not null, --员工号
name varchar(10) not null, --姓名
dept_id varchar(2) not null, --部门编号
age integer, --年龄
gzsj date, --参加工作时间
technical_post varchar(10), --职称
salary integer –薪水
);
1.写出表Department增加一条记录 和 更新一条记录的 SQL语句
增加记录值 (‘12’, ‘研发部’, ‘张三’) ; 更新 dept_id=’12’的记录 (‘12’, ‘研发部’, ‘张三新’) ;
参考答案:
增加记录:Insert into Department(dept_id,dept_name,dept_leader) values (‘12’,’研发部’,’张三’)
更新记录:Update Department dept_leader=’张三新’ where dept_id=’12’;
- 需要给表Department增加一列字段notes,长度为10的字符串,默认值为‘0’ , 请写出相关SQL语句
参考答案:
Alter table Department add notes varchar(10) default 0;
3.查找工资大于2000元的员工记录,并按员工号id升序排列
参考答案:
Select name from Personnel where salary integer>2000 order by id;
4.查找工资大于2000元的员工所在部门、部门编号、部门经理、员工名称
参考答案:
Select dept_name,dept_id,dept_leader from Department where dept_id in(select dept_id from Personnel where salary integer>2000 );
5.查找张三和李四所在部门所有人员的姓名
参考答案:
Select name from Personnel where name=’张三’ and name=’李四’;
6、查看每个部门的部门经理和部门人数,按部门人数排序?
参考答案:
Select d.dept_leader,(select count(*) from Personnel p where d.dept_id=p.dept_id) from Department d,personnel p group by d.dept_id order by co;
7、删除表Department中的所有记录
参考答案:
Delete from Department;
8、删除表Department
参考答案:
Drop table Department;
9、解释Oracle数据库、数据文件、表空间?
参考答案:
(1)、Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。
(2)、数据文件:每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。
(3)、表空间:表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。
10、表、视图的区别?存储过程、函数的区别?
参考答案:
(1)、表和视图的区别:
表:是数据库中的主要结构,它总是表示单个的、特定的集合。每个表至少包含一个字段,即一个主键,他唯一地标识表的每条记录。
视图:是由来自数据库中的一个或多个表或多个表的字段所组成的一个虚拟的表。实际上它自身不存储任何数据,存储在数据库中的有关视图的唯一信息几句是它的结构。
(2)、存储过程、函数的区别
存储过程:是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程。函数:通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。