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首先备份( <!--[endif]-->backup scott),在命令行下输入以下命令,按提示操作exp然后创建用户 <!--[endif]-->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最后导入数据 <!--[endif]-->import the data,在命令行下输入以下命令,按提示操作;imp一道SQL面试题有3张表S,C,SCS(sno,sname) 代表(学号,姓名)C(cno,cname,cteacher)代表(课程号,课程名,教室)SC(sno,cno,scgrade)代表(学号,课程号,成绩)问题:<!--[if !supportLists]-->1, <!--[endif]-->找出没有选过“liming”老师的所有学生的姓名<!--[if !supportLists]-->2, <!--[endif]-->列出2门以上(含2门)不及格学生姓名及平均成绩<!--[if !supportLists]-->3, <!--[endif]-->学过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)
);Oracle ORA-01461 异常解决NoSQL数据库Redis几个认识误区相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)