加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle和Mysql数据库技术

发布时间:2020-12-31 06:55:53 所属栏目:站长百科 来源:网络整理
导读:副标题#e# 1.查资料,回答下面问题: a.Oracle公司的诞生和发展 (1)1977年程序员埃里森和另外两名程序员创建了软件开发实验室(Software Development Laboratories)。 (2)1970年IBM的一名研究人员写了一篇名为《大型共享数据库的关系数据模型》的论文,埃里


ORM(Object relationship mapping对象关系映射)基本思想:
?表定义了数据结构,类似于Java中的类。
?字段定义了表的详细结构,类似于Java中类的属性。
?记录(行)定义了某个数据,类似于Java中某个类的对象。
使用上面思路,将实验用表:emp和dept之间的关系,使用两个Java类表示。
(1)emp表:
public class Emp{

private int empNo; //员工编号;
private String eName;//员工姓名;
private String job;//员工岗位;
private int mgr;//员工上级编号;
private String hireDate;//员工入职时间;
private double salary;//员工基本工资;
private double commit;//员工绩效;
private int depNo;//员工部门编号;

//构造方法,略;
//getter,setter方法,略;

}

(2)dept表:
public class Dept{
private int deptNo; //部门编号;
private String dName; //部门名称;
private String loc;//部门地址;

//构造方法,略;
//getter,setter方法,略;
}

?

6.【上机】完成下面的sql语句,并截图表示出结果。


i.每个员工的所有信息
分析:把员工表的所有内容都列出来;
select * from emp;
ii.每个人的部门编号,姓名,薪水
分析:这3项在一个表里吗?在,简单了。
同上题一样,也是14条纪录。把“*”换成指定的列名。
select deptno,ename,sal from emp;
iii.每个人的年薪
分析:还是查员工信息。没有“年薪”字段,但有”sal(月薪)”,可以通过计算得到年薪信息。
select ename,sal*12 from emp;
iv.计算2*3的值(利用虚拟表:dual)
select 2*3 from dual;
v.得到当前时间
select sysdate from dual;
vi.求每个人的年薪,列的别名:“年薪”;
分析:怎么给列起别名呢?“as”关键字;
select ename,sal*12 as 年薪 from emp;--“年薪”可以加或不加双引号,但单引号不行。
vii.计算每个人的全年的收入包括月薪和年终津贴(使用:nvl函数处理null值)
分析:
(1)年薪 是 (月薪+绩效)*12;
(2)但绩效(comm)有null值,当comm是null值时,月薪+绩效的结果也是null值;
(3)所以,当comm为null值时,需要把它当作0来处理。哪个函数能胜此重任呢?nvl();
(4)nvl()相当于一条if…else语句:如果字段值不为空,取原值;否则,空值当作0来处理。

select ename,sal*12+nvl(comm,0)as 年薪 from emp;

viii.求姓名和薪水和津贴,格式为smith-sal-123(利用拼接字符串)
分析:拼接字符串不同于java中用“+”,这里用”||“。这里拼接的字符串是作为数据出现在字段内容中的。
select ename||‘-‘||sal||‘-‘||nvl(comm,0) 收入信息 from emp;


7.Oracle中,||表示什么含义?


字符串拼接。见上题“分析”部分。


8.Oracle中,双引号一般用于什么地方?单引号用于什么地方?


(1)双引号:在给字段起别名时,双引号可以加在别名上(也可以不加);
如下例中的“年薪“:
select ename,sal*12 as “年薪” from emp;
(2)单引号:
i.字段数据中需要拼接字符串时,字符串常量要加单引号。如下例中的连字符“-“:
select ename||‘-‘||sal||‘-‘||nvl(comm,0)from emp;
ii.通过某varchar类型的字段数据值来查询记录时,这个用来查询的字段值要用单引号,如下例中的“KING“:
select * from emp where ename=‘KING‘;

?

9.【上机】完成下面的sql语句,并截图表示出结果。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!