初学ORACLE 练习题
使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
1.列出至少有一个员工的所有部门
2.列出薪金比“SMITH”多的所有员工。
3.列出所有员工的姓名及其直接上级的姓名。
4.列出受雇日期晚于其直接上级的所有员工。
5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
6.列出所有“CLERK”(办事员)的姓名及其部门名称。
7.列出最低薪金大于1500的各种工作。
8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
9.列出薪金高于公司平均薪金的所有员工。
10.列出与“SCOTT”从事相同工作的所有员工。
11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。
12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。
13.列出在每个部门工作的员工数量、平均工资和平均服务期限。
14.列出所有员工的姓名、部门名称和工资。
16.列出所有部门的详细信息和部门人数。
17.列出各种工作的最低工资。
18.列出MANAGER(经理)的最低薪金。
19.列出所有员工的年工资,按年薪从低到高排序。
===============================================
使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
------1.列出至少有一个员工的所有部门
select * from dept
where deptno in
(select deptno from emp group by deptno having count(*)>1);
------2.列出薪金比“SMITH”多的所有员工。
select * from emp
where sal>(select sal from emp where ename='SMITH');
------3.列出所有员工的姓名及其直接上级的姓名。
select ename,(select ename from emp where empno=a.mgr) from emp a;
或
select ename, (sele
相关文档:
比较专业,专门计算机技术电子书下载的:
www.itpub.net
www.itepub.net
www.netyi.net/in.asp?id=daotong
www.chmpdf.com
相对不太专业的,内容也非常丰富
www.infoxa.com
www.xpbook.com
这些网站几乎可以找到你想要的全部书籍。 ......
游标:
用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。
分类:
静态游标:
分为显式游标和隐式游标。
REF游标:
是一种引用类型,类似于指针。
显式游标:
CURSOR 游标名 ( 参数 ) [返回值类型] IS
Select 语句
生命周期:
1.打开游标(OP ......
最近在使用Oracle做文件上传,要求将文件数据保存到数据库中。Oracle提供了Blob用来存储二进制大对象数据,可是它和Java.sql里面的Blob不兼容,经常导致Blob字段无法锁定或者操作失败。由于以前没有做过这样的例子,所以花了不少时间才解决。
我使用的是struts2.1.8+spring2.5+hibernate3.2,下面是相关代码:
spring配置 ......
最近从Excel中到了一些数据,结果一个列的数据是以逗号分隔的字符串,想把它拆分开找到了下边的方法,贴出来分享一下:
CREATE OR REPLACE PROCEDURE sptstr (srcstr varchar2) as
stmp varchar2(2000);
begin &n ......
1.建表
CREATE TABLE qq(
qq_num integer
);
2.插入数据
插入数据的方法有很多种,但是要插入3亿数据,必须要有高效的算法。在插入数据时我用了最笨的办法,采用PL/SQL利用流程控制的LOOP语句插入。同时我也看了网上的插入效率的优化,怎样利用较少的时间生成较多的测试数据。给 ......