oracle习题-简单查询
题一
1 实现将已知表中的数据插入到另一个表中
学生表:stu1
向表中插入两条数据
学生信息表2:stuinfo
将stu1表中的两条数据导入到stuinfo表中,执行下列语句
此时查看一下stuinfo表,select * from stuinfo,会发现多了两条数据。
2.
1)创建如图所示的一张表animal,其中name字段是主键,owner、species、birth三个字段非空
Create table animal(name varchar2(20) primary key, owner varchar2(20) not null,species varchar2(10) not null,sex char(2),age number(3),birth date not null);
2)使用insert语句插入如上表所示数据
3)添加adress字段,该字段类型为varchar2
Alter table animal add address varchar2(20);
4)将address字段全部修改为“惠普洛阳基地”
Update animal set address=’惠普洛阳基地’;
5) 查找18岁到21岁之间的宠物,将他们的name和owner字段显示出来
Select name,owner from animal where age between 18 and 21;
Select name,owner from animal where age>=18 and age<=21;
6) 将小于20岁的宠物的出生日期设置为2010-01-01
Update animal set birth=’01-1月-2010’ where age<20;
Update animal set birth=to_date(‘2010-01-01’,’yyyy-mm-dd’) where age<20;
7) 将大于20岁的宠物信息删除
Delete from animal where age>20;
3.
序列号 |
姓名 |
年龄 |
地址 |
毕业院校 |
java成绩 |
数据库成绩 |
1001 |
李明 |
20 |
洛阳 |
河南大学 |
80 |
70 |
1002 |
张红 |
19 |
周口 |
郑州大学 |
85 |
80 |
1003 |
赵潘 |
21 |
商丘 |
山东大学 |
59 |
63 |
1) 创建一个员工表woker, 包含以下列:序列号ID,姓名name,年龄age,地址addr,毕业院校school,java成绩javascore,数据库成绩dbscore,其中name为主键;
2) 将表中毕业院校为山东大学的员工毕业院校修改为烟台大学。
Update worker set school=’烟台大学’ where school=’山东大学’;
3) 将表中数据库成绩小于70分的都加5分。
Update worker set dbscore=dbscore+5 where dbscore<70;
4) 查找毕业院校为郑州大学的的学生的序号,以及JAVA成绩与数据库成绩之和。
Select id as 序列号, javascore+dbscore as “成绩” from woker where school=’郑州大学’;
5) 查找表中有一门成绩不合格的员工姓名及其毕业院校。
Select name,school from worker where (javascore<60 and dbscore>=60) or (javascore>=60 and dbscore<60);
6) 查找表中地址为洛阳和商丘的员工姓名和地址。
Select name,addr from worker where addr=’洛阳’ or addr=’商丘’;
Select name,addr from worker where addr in(‘洛阳’,’商丘’);
7) 查找表中姓张的员工的姓名,毕业院校,年龄。
Select name,school,age from worker where name like ‘张%’;
8) 查询数据库成绩合格的员工信息。
Select * from worker where dbscore>=60;
题二 EMP表练习
- 1. 选择在部门30中员工的所有信息
请写出sql语句并核对是否跟下图一致
- 2. 列出职位为(MANAGER)的员工的编号,姓名
请写出sql语句并核对是否跟下图一致
- 3. 找出奖金高于工资的员工
请写出sql语句并核对是否跟下图一致
- 4. 找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)
请写出sql语句并核对是否跟下图一致
- 5. 找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工
请写出sql语句并核对是否跟下图一致
- 6. 找出没有奖金或者奖金低于500的员工
请写出sql语句并核对是否跟下图一致
- 7. 显示雇员姓名,根据其服务年限,将最老的雇员排在前面
请写出sql语句并核对是否跟下图一致
- 8. 每名员工的年终奖是2000,请显示基本工资在2000元以上的员工的月工资,年总工资(12月工资+年终奖)
请写出sql语句并核对是否跟下图一致
- 9. 在emp表中,查询工资在2000元以上的姓名以及工作,使用字符串连接符显示,如下图所示
请写出sql语句并核对是否跟下图一致
答案
--. 选择在部门30中员工的所有信息
select *from emp4 where deptno=;
--. 列出职位为(MANAGER)的员工的编号,姓名
select empno name from emp4 where job='MANAGER';
--. 找出奖金高于工资的员工
select *from emp4 where comm>=sal;
--. 找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)
select *from emp4 where (deptno= and job='MANAGER' ) or (deptno= and job='MNAAGER')
--. 找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工
select *from emp4 where (deptno = and (job !='MANAGER'and job !='CLERK')) and sal>=;
--. 找出没有奖金或者奖金低于500的员工
select *from emp4 where comm is null or comm<;
--. 显示雇员姓名,根据其服务年限,将最老的雇员排在前面
select ename from emp4 order by hiredate desc
--. 每名员工的年终奖是2000,请显示基本工资在2000元以上的员工的月工资,年总工资(12月工资+年终奖)
select ename, sal, sal*+ from emp4 where sal>;
--. 在emp表中,查询工资在2000元以上的姓名以及工作,使用字符串连接符显示
select ename||'is a '||job from emp4 where sal >;
最新文章
- 使用Prerender.io为angular项目做SEO
- Sql Server系列:自定义函数
- js判断是否是移动端 访问移动端网址
- order_by_、group_by_、having的用法区别
- 手写代码自动实现自动布局,即Auto Layout的使用
- 第二十六课:jQuery对事件对象的修复
- Borg Maze(MST &; bfs)
- 每个配置xml的含义作用
- (spring-第15回【IoC基础篇】)容器事件
- I’m stuck!(BFS)
- jQuery遮罩层的实现
- MySQL to Redis
- js获取时间天数
- JQ 日期格式化
- Qt入门(11)——Qt插件
- 类 this指针 const成员函数
- 只有mdf 没有 日志 恢复数据库
- Python实战之列表简单练习
- Spring Boot Oauth2缓存UserDetails到Ehcache
- 黄金Corner
热门文章
- 「BZOJ2388」旅行规划
- iOS之UIBezierPath贝塞尔曲线属性简介
- 元素显示v-show
- <;每日一题>;题目28:生成随机的测验试卷(单选题)
- Exit- Linux必学的60个命令
- springboot2配置druid数据库连接池
- 如何将Map键值的下划线转为驼峰
- [转]WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
- 适配的js
- LUOGU P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…