文档章节

oracle数笔

m243043962
 m243043962
发布于 2017/08/12 15:49
字数 1932
阅读 3
收藏 0

--1.  新建部门表,员工表,若数据库中已存在部门员工表,则drop掉,通过create  table 来进行新建。
 drop table dept;  
 
 create table dept(
   deptno int primary key,
   deptname varchar2(22)
 );
 --2.    创建员工emp表,(empNo员工号,eName员工姓名,job工作,mgr上级编号,hiredate雇佣日期,sal薪资,comm佣金,deptNo部门编号)
 create table emp(
  empno int primary key,
  ename varchar2(20),
  job varchar2(20),
  mgr varchar2(20),
  hiredate date,
  sal number(10,2),
  comm number(10,2),
  deptno int 
 );
 --3.    创建部门dept表(deptNo部门编号,dName 部门名称,loc 地点)
 drop table dept;
 
 create table dept(
 deptno int primary key,
 dname varchar2(20),
 loc varchar2(20) 
 )
--4.    向部门表中插入5条数据
insert into dept (deptno,dname,loc) values(1,'公测','gd');
insert into dept (deptno,dname,loc) values(2,'前台','sa');
insert into dept (deptno,dname,loc) values(3,'开发','sh');
insert into dept (deptno,dname,loc) values(4,'销售','hk');
insert into dept (deptno,dname,loc) values(5,'工程','bj');

select * from dept;

--5.    向员工表中插入十条数据,要求员工的部门编号要在部门表中存在
--select * from emp

alter table emp add constraint kk foreign key(deptno) references dept(deptno);

insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (4,'小样','写代码','小猫','07-11月-2003','5432.88',3);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (5,'饭冰冰','唱歌','张丽','07-11月-1988','3456.88',4);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (6,'花花','小品','小猫','07-11月-2013','5600.88',2);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (7,'赵本山','写代码','小胖','07-11月-2016','2354.88',1);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (8,'三等','电影','小猫','07-11月-2017','7777.88',5);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (9,'是','写代码','小猫','07-11月-2015','5553.88',2);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (10,'嗯嗯','写代码','啊','07-11月-2014','4356.88',5);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (11,'方法','写代码','小猫','07-11月-2012','234.88',1);
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno)values (12,'发疯','写代码','小猫','07-11月-2013','8888.88',4);

--6.    写出oracle和java中的基本数据类型,并且分别是什么意思
orale  char(n) 定长字符串,长度不到的用空格来填充 ,最大2000字节
       varchar(n)可变长度的字符串,长度不够自动缩短,最大4000字节
       number(m,n)可变长的数字列,总长m,小数位n
       int 整形数值
       date 日期格式,为‘07-12月-2003’或‘07-12月-03’
       long 可变长字符列,最大长度限制为2GB。
       Blob 这种数据类型允许存储最多4GB的数据
       
java
    整数型byte , long ,int short
    布尔型 boolean
    浮点型 float ,double      
    字符型 char

--7.    sql命令的分类,分为哪几种 ?
DDL(数据定义语言),create,drop ,alter
DML(数据操纵语言),insert ,update ,delete
DQL(数据查询语言),select
DCL(数据控制语言);grant ,commit,rollback
    
--8.    使用alter关键字,给dept表和emp表添加几个备用字段attribute1,,,attribute5 ,数据类型  int,varchar2,number ,date,long       

alter table dept add attribute1 int;
alter table dept add attribute2 varchar2(10);
alter table dept add attribute3 number(10,2);
alter table dept add attribute4 date;
alter table dept add attribute5 Long;

--select * from dept

alter table emp add attribute1 int;
alter table emp add attribute2 varchar2(10);
alter table emp add attribute3 number(10,2);
alter table emp add attribute4 date;
alter table emp add attribute5 Long;

--select * from emp
9.    创建学生表,学生编号为number类型,向其中插入字符串类型的数值是否可以正常插入,写出sql语句
create table student(
 sno number(10,2),
 sname varchar(10)
);

insert into student(sno,sname)values('13','花花');
select *from student

--10.    使用insert  ,delete ,update ,select 关键字来操作员工表和部门表,其中delete,select ,update 
--要带至少两个条件来进行筛选

select * from emp where job='写代码'and mgr='小猫';
update emp set comm=1245,attribute1=23 where job='写代码'and mgr='小猫';
delete from emp where ename='小样'and sal=5432.88;

select * from dept

insert into dept (deptno,dname,loc)values(7,'测试','sh');
select * from dept where dname='开发'and loc='sh';
update dept set deptno=10 where dname='测试'and loc='sh';
delete from dept where dname='测试'and loc='sh';

--11.    使用distinct关键字来消除重复的行。写出sql语句
select  distinct ename from emp;

--12.    查询出部门表所有信息,并且给出别名。
select deptno 部门编号 ,dname 名称,loc 地址 from dept

--14.    新建销售信息表,表格内容如下  ,将其转行为列的形式显示,使用decode函数

create table sal(
  name varchar2(20),
  course varchar2(20),
  sorse number(10)
  
);
insert into sal(name,course,sorse)values('张三','Java',50);
insert into sal(name,course,sorse)values('张三','oracle',55);
insert into sal(name,course,sorse)values('张三','web',60);
insert into sal(name,course,sorse)values('张三','html',70);
insert into sal(name,course,sorse)values('张三','Javascprit',80);

insert into sal(name,course,sorse)values('李四','Java',53);
insert into sal(name,course,sorse)values('李四','oracle',67);
insert into sal(name,course,sorse)values('李四','web',60);
insert into sal(name,course,sorse)values('李四','html',90);
insert into sal(name,course,sorse)values('李四','Javascprit',88);

--select * from sal;

select name, 
max(decode(course,'Java',sorse))java,
max(decode (course,'oracle',sorse)) as oracle,
max(decode(course,'web',sorse))web,
sum(decode(course,'html',sorse))html,
sum(decode(course,'Javascprit',sorse))Javascprit
from sal group by name

15,在上面标的基础上,在添加其他学生考试成绩信息,内容自己定义,统计每个学生出现的次数。
insert into  sal(name,course,sorse)values('小五','Javascprit',88);
insert into sal (name,course,sorse)values('小五','Java',88);
insert into  sal(name,course,sorse)values('花花','Javascprit',88);
insert into sal (name,course,sorse)values('小威','Java',88);

select name,count(1)from sal group by name


--15.    新建学生和班级表,班级表包括,班级编号,班级名称,班主任  三字字段,
--学生表包括,学生编号,学生姓名,性别,年龄,家庭地址,班级编号,描述  ,等字段,
--显示出来每个学生所在的班级名称和班主任名称。

create table classes(
 cno int primary key,
 cname varchar2(20),
 techer varchar(20)
);
create table student1(
sno int primary key,
sname varchar2(20),
sex char(2) check(sex in('男','女')),
yearold number(3),
adress varchar2(50),
cno int,
des varchar2(1000)
);
insert into classes values(1,'一','王老师');
insert into classes values(2,'二','李老师');
insert into classes values(3,'三','小老师');

insert into student1 (sno,sname,cno)values(22,'小红','1');
insert into student1 (sno,sname,cno)values(23,'大和','2');
insert into student1 (sno,sname,cno)values(24,'中国','1');
insert into student1 (sno,sname,cno)values(25,'小品','2');
insert into student1 (sno,sname,cno)values(26,'小品','7');
insert into student1 (sno,sname)values(27,'小品');
select sname,cname,techer from classes c,student1 s where c.cno=s.cno;

--16.    使用外连接,显示所有班级信息,包含没有学生的班级,两种写法
select * from classes c left join student1 s on c.cno=s.cno;
select * from  student1 s right join classes c on c.cno=s.cno;
select * from classes c,student1 s where  c.cno=s.cno(+);

--17.    使用外连接,显示所有的学生信息,包含没有班级的学生,两种写法
select* from student1 s left join classes c on s.cno=c.cno; 
select * from student1 s,classes c where  c.cno(+)=s.cno;
--1.查询出部门是d01部门的员工
--select * from dept
--select * from emp
select ename from emp where deptno=1;

--2.列出职位是“开发”的员工编号
select empno from emp where job='写代码';

--3.找出sal大于4000的员工信息
select * from emp where sal>4000
--4.找出comm 比 sal 大的员工信息
--update emp set comm=7000 where sal=5600.88;
select * from emp where comm>sal;
--5.找出部门d02中工资大于5000的员工
select * from emp where sal>5000 and deptno=2;
--6.找出comm低于 2000 的员工
select ename from emp where comm<2000;
--7.显示员工信息,将先入职的员工排在最前面
select * from emp order by emp.hiredate asc;
--8.使用decode显示员工的部门信息,d01 显示  开发部门,d02 显示测试部门,d03显示运营部门,否则显示其他部门。
select emp.* ,decode(deptno,1,'开发部门',2,'测试部门',3,'运营部门','其他部门') from emp;
--9.分组统计各部门下工资大于5000 的员工姓名和 工资

--10.算出每个职位的员工数,并且算出最低工资
select job,count(1),min(sal) from emp group by job;
 

© 著作权归作者所有

共有 人打赏支持
上一篇: oracle数笔一
下一篇: oracle 学习笔记二
m243043962
粉丝 0
博文 70
码字总数 34357
作品 0
黄冈
程序员
私信 提问
大数据数据名词:PV、IPV、UV等

大数据数据名词: 数据名词 定义 计算公式 相关名词 浏览量(PV) 店铺页面被访问的总次数 店铺内页面被点击一次,即被记为一次浏览(PV),一个用户多次点击或刷新同一个页面,会被记为多次浏...

哲别0
2017/10/20
0
0
迎双11十周年,OceanBase 2.0挑战新巅峰

2018年是“双11”十周年。2009年11月11日,当时的淘宝商城(天猫的前身)举办了首届网络促销活动,当天销售额为0.5亿元;2017年的双11,天猫、淘宝总成交额1682亿元,创造了25.6万笔/秒的新支...

阿川925
2018/09/26
0
0
甲骨文11.9亿美元收云解决方案供应商Aconex

  【IT168 资讯】根据外媒报道,澳大利亚云解决方案供应商Aconex周一宣布,已经收到美国软件巨头Oracle发出的15.6亿澳元(约合11.9亿美元,79.3亿元人民币)的现金收购要约,相当于每股7.80澳...

it168网站
2017/12/18
0
0
JAVA 支付宝退款接口

构建表单参数 批次号格式:yyyyMMddHHmmss+数字或字母 笔数:笔/订单 退款详细参数:支付宝订单号^金额^备注(多笔退款的话用#号分割) JAVA支付宝退款接口实例

周田
2016/04/28
658
0
AltF4币报:美国监管机构互撕 蔡维德称区块链是五百年来最重要金融创新 181027晚

这是摘要 国家与监管 1、 美国国家银行监管协会起诉货币监理署向区块链公司发放银行执照 2、 乌克兰政府拟批准将数字货币合法化的政策 币种动态 3、 BTC平均每个区块的交易笔数超过BCH15倍 ...

青岛的AltF4
2018/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
1
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
4
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部