文档章节

oracle数笔

m243043962
 m243043962
发布于 2017/08/12 15:49
字数 1932
阅读 3
收藏 0
点赞 0
评论 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;
 

© 著作权归作者所有

共有 人打赏支持
m243043962
粉丝 0
博文 69
码字总数 34357
作品 0
黄冈
程序员
甲骨文11.9亿美元收云解决方案供应商Aconex

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

it168网站 ⋅ 2017/12/18 ⋅ 0

Java 社区目前的现状 —— 交易

这是关于一笔交易的故事。 没有人为交易签过字。 但这仍然是一笔重要的交易。 这是Java的主人和Java社区之间的交易。 交易 这是我对Java的主人和Java社区之间如何相互影响作用的观点: Java...

红薯 ⋅ 2011/01/11 ⋅ 5

JAVA 支付宝退款接口

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

周田 ⋅ 2016/04/28 ⋅ 0

Oracle 收购PaaS服务提供商Engine Yard少量股份

去年正式宣称自己为云公司的Oracle现在开始变得更加名正言顺—今天这家公司正式宣布收购平台即服务(PaaS)提供商Engine Yard的少量股权,但具体份额并未透露。 Engine Yard是一家领先的平台...

oschina ⋅ 2012/11/13 ⋅ 2

【腾讯优测干货分享】从压测工具谈并发、压力、吞吐量

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/580d914e07b7fc1c26a0cf7c 前言 随着部门业务的拓展,我们有了很多性能测试的机会,但在实战中...

腾讯Bugly ⋅ 2016/10/24 ⋅ 1

支付宝发布“五一”境外移动支付报告 传OPPO正在组建金融事业部 | AI金融科技晚报

支付宝发布“五一”境外移动支付数据报告 5月1日,支付宝发布“五一”小长假出境游移动支付数据报告。报告显示,香港、澳门、日本分别列为最受欢迎的消费地前三位,值得一提的是,90后用户首...

AI金融评论 ⋅ 05/02 ⋅ 0

TPS从300笔/秒到5500笔/秒的性能测试优化之路

TPS从300笔/秒到5500笔/秒的性能测试优化之路 郭柏雅 本文案例是我们品课学院在银行系统性能测试第一个案例,由发生至解决,通过对业务逻辑的认知、测试环境的了解、测试脚本的开发、服务的监...

郭柏雅 ⋅ 2017/12/11 ⋅ 0

Echarts如何针对Legend设置不同的DataRange?

@Kener-林峰 你好,想跟你请教个问题:echarts如何在切换Legend的时候,显示不同的DataRange的最大值和最小值? 如图:我的Legend的selectedMode设置为single,默认显示的是“交易金额”,D...

远方的风 ⋅ 2014/11/02 ⋅ 1

Oracle 终于要向 Java 的非付费用户开枪了

编者注:此文来自 theregister ,由 可译网 翻译。本文是国外媒体文章的翻译,并不代表开源中国观点。 你还在认为 Java 是免费的吗?再想想!(2017年你会欠我们很多钱) 在收购了 Sun 公司的...

oschina ⋅ 2016/12/18 ⋅ 97

邮储银行"以小换大" 再论银行能否去IOE

  中国邮政储蓄银行(以下简称:邮储银行)于2007年3月20日正式挂牌成立,是在改革邮政储蓄管理体制的基础上组建的商业银行。相对于其他国有银行,邮储银行成立时间较晚,要想赶上别人,就要...

fnnn99 ⋅ 2014/12/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部