oracle 新建一张备份表,Oracle_5 ROWNUM Create New User 备份一张表

本文介绍了Oracle数据库中rownum的使用,包括如何选取特定行数的数据。还详细阐述了创建新用户的过程,包括备份、创建用户、分配权限以及导入数据的步骤。此外,提供了三道SQL面试题及其解答,涉及学生选课系统的查询,如查找未选过特定老师课程的学生、不及格课程超过两门的学生以及同时选修过两门特定课程的学生名单。
摘要由CSDN通过智能技术生成

Rownum是Oracle为每个表附加的一个尾字段,它记录着每一行的行号。Oracle的一个缺陷就是rownum只能和’

求薪水最高的前5名

select ename,sal

from ( select ename,sal

from emp

order by sal desc)

where rownum <=5;

求薪水的第6至第10位的员工姓名和薪水

select ename,sal

from ( select ename,sal,rownum r

from (select ename,sal

from emp

order by sal desc)

)

where r<=10 and r>=6;

Create New User

首先备份( backup scott),在命令行下输入以下命令,按提示操作

exp

然后创建用户 create user,在sqlplus下切换到管理员用户,输入

create user USER_NAME(such as:lue) identified by password(lue) default tablespace users quota(配额) 10M on users即是给用户分配10M的空间

其次是分配新建用户的权限,命令:

grant create session(登陆权限),creat table,create view to lue

最后导入数据 import the data,在命令行下输入以下命令,按提示操作;

imp

一道SQL面试题

有3张表S,C,SC

S(sno,sname) 代表(学号,姓名)

C(cno,cname,cteacher)代表(课程号,课程名,教室)

SC(sno,cno,scgrade)代表(学号,课程号,成绩)

问题:

1,  找出没有选过“liming”老师的所有学生的姓名

2,  列出2门以上(含2门)不及格学生姓名及平均成绩

3,  学过1号课程又学过2号课程所有学生的姓名

答案:

//Answer 1:

select sname

from S join SC on(s.sno = sc.sno) join C (c.cno = sc.cno)

where C.cteacher <> ‘liming’;

//answer 2:

select sname

where sno in (select sno,count(*)

from SC

where scgrade < 60

group by sno

having count(*) >1);

//answer 3:

//方法1:

select sname

from S join (select sno

from SC

where C.cno = 1 and C.cno = 2) t

on (S.sno = t.sno);

//方法2:

select  sname

from S

where sno in(select sno

from SC

where cno = 1 and cno in (select distinct sno

from SC

where cno = 2)

           );0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值