-- ## 练习1

-- 1. 创建一个视图,通过该视图可以查询到工资在2000-5000内并且姓名中包含有A的员工编号,姓名,工资。

create or replace view viewSal2k_5k

as select empno,ename,sal from emp

where sal between 2000 and 5000

and ename like '%A%';

-- 2. 通过上述创建的视图查询数据

select * from viewSal2k_5k;

-- ## 练习2

-- 1. 创建一个视图,通过该视图可以查询到工作在NEW YORK和CHICAGO的员工编号,姓名,部门编号,入职日期。

create or replace view viewLoc_NY_CA

as select empno,ename,dept.deptno,hiredate

from emp,dept

where emp.deptno = dept.deptno

and loc in ('NEW YORK','CHICAGO');

select * from viewLoc_NY_CA;

-- 2. 创建一个视图,通过该视图可以查询到每个部门的部门名称及最低工资。

create or replace view viewMinSalbydname

as select dname,min(sal) minSalbydname

from emp,dept

where emp.deptno(+) = dept.deptno

group by dept.dname;

select * from viewMinSalbydname;

-- 3. 通过如上视图,查询每个部门工资最低的员工姓名及部门名称

select ename,viewMinSalbydname.dname

from emp,dept,viewMinSalbydname

where emp.deptno = dept.deptno

and dept.dname = viewMinSalbydname.dname

and emp.sal = viewMinSalbydname.minSalbydname;

-- ## 课后作业

-- 1. 创建视图v_emp_20,包含20号部门的员工编号,姓名,年薪列(年薪=12*(工资+奖金);

create or replace view v_emp_20

as select empno,ename,12 * (nvl(sal,0) + nvl(comm,0)) 年薪

from emp where deptno in 20;

select * from v_emp_20;

-- 2. 从视图v_emp_20中查询年薪大于1万元员工的信息;

select * from v_emp_20

where 年薪 > 10000;

-- 3. 请为工资大于2000的员工创建视图,要求显示员工的部门信息,职位信息,工作地点;

create or replace view v_sal2000M

as select dname,job,loc

from emp,dept

where emp.deptno = dept.deptno

and sal > 2000;

select * from v_sal2000M;

-- 4. 针对以上视图执行insert,update,delete,语句能否成功,为什么?

insert into v_sal2000M values('aaa','bbb','ccc'); -- error 无法修改与非键值保存表对应的列

update v_sal2000M set job = 'aaa'

where job in 'MANAGER'; -- ok

select * from v_sal2000M;

delete v_sal2000M; -- ok只删除表数据,就是表还在

select * from v_sal2000M;

drop v_sal2000M;-- 表数据与结构都被删除,表没了

select * from v_sal2000M;

一键复制

编辑

Web IDE

原始数据

按行查看

历史

java sql objects_第十五章-简书.sql相关推荐

  1. 【JAVA SE】第十五章 ArrayList、LinkedList、HashMap和HashSet

    第十五章 ArrayList.LinkedList.HashSet和HashMap 文章目录 第十五章 ArrayList.LinkedList.HashSet和HashMap 一.ArrayList ...

  2. Java编程思想 第十五章:泛型

    1. 泛型 "泛型"意思就是适用于许多类型. 使用泛型的目的之一: 指定容器持有什么类型,让编译器确保正确性,而不是在运行期发现错误. 这个容器可以看成是有其他类型对象作为成员的类 ...

  3. easyloging 获取日志文件名字_愉快地学Java语言:第十五章 断言与日志

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java核心技术基础知识卷I>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇 ...

  4. 第十五章 使用管理门户SQL接口(一)

    文章目录 第十五章 使用管理门户SQL接口(一) 管理门户SQL工具 选择命名空间 用户自定义 执行SQL查询 编写SQL语句 表拖放 执行查询选项 显示计划按钮 SQL语句的结果 查询数据显示 查询 ...

  5. 第十五章 IO流(转换流 字符流 字符缓冲流 打印流)

    Java基础15 第十五章 IO流(转换流 字符流 字符缓冲流 打印流) 15.1 字符编码和字符集 15.1.1 字符编码 15.1.2 字符集 15.1.3 String类getBytes()方法 ...

  6. java十五章_java:第十五章

    第十五章 字符串1.字符串(String)的定义 String str="内容"; String str=new String(); //内容为null String str=ne ...

  7. Java(第十五章)

    第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名= ...

  8. java语言程序设计基础篇课后答案_《Java语言程序设计:基础篇》课后复习题答案-第十五章.pdf...

    <Java语言程序设计:基础篇>课后复习题答案-第十五章 Chapter15Graphics 1. Theycoordinateshouldincreaseandthexcoordinat ...

  9. 第九十五章 SQL函数 MINUTE

    文章目录 第九十五章 SQL函数 MINUTE 大纲 参数 描述 示例 第九十五章 SQL函数 MINUTE 返回日期时间表达式的分钟的时间函数. 大纲 {fn MINUTE(time-express ...

最新文章

  1. python3读取excel数据-Python3将爬取的数据存储到Excel
  2. harbor登录验证_Harbor镜像仓库的安装与配置
  3. LINUX 下tcp 和 udp 套接字收发缓冲区的大小决定规则 .
  4. java 什么时候用递归_如果要用Java实现算法,一定慎用递归
  5. maven使用出现的错误
  6. 补习系列(17)-springboot mongodb 内嵌数据库
  7. Nginx基本数据结构之ngx_list_t
  8. 显示用户上次访问时间
  9. 精通语言不等于是一个好的软件开发人员
  10. Bash命令的学习笔记~
  11. java file的用法_Java 关于File使用
  12. 软核、固核、硬核的区别
  13. 浅谈人工智能的工作原理
  14. pyqtgraph中文文档
  15. [项目管理] 如何评估工作量
  16. Excel函数大全一《求和与统计函数》
  17. 魅蓝e格机解锁方法_魅蓝E手机锁屏密码忘了怎么办?忘了手机密码怎么办?
  18. 谈谈玩游戏遇到的问题(巫师3)
  19. 一种提取HTML网页正文的方法
  20. mysql cpu 内存的选择

热门文章

  1. Android 隐藏状态栏,沉浸式状态栏,状态栏背景色,状态栏字体色,透明状态工具类
  2. 支付宝错误提示: sign check fail: check Sign and Data Fail JSON also
  3. jmeter语言设置
  4. C++如何产生随机数
  5. CMD窗口的cd命令
  6. java enumerator_NSEnumerator使用
  7. linux 思维导图
  8. 第三章 使用属性升级MyBank
  9. python shelve模块
  10. Datagridview绘制