What is the query to find nth highest salary?
What is the use of cursors?
Answers were Sorted based on User's Feedback
There are 3 ways to find out the nth highest salary in a
given table (e.g. emp) as below;
1) select distinct sal from emp e1 where &n=(select count
distinct sal from emp e2 where e1.sal <=e2.sal);
2) select empno,enaame,sal,deptno,rank () over (order by sal
desc) as ra from emp where ra=&n;
3) select empno,enaame,sal,deptno,dense_rank () over (order
by sal desc) as ra from emp where ra=&n;
All the above methods are tried n tested....it works
successfully.
What is a Cursor.
When a query is executed in oracle, a result set is produced
and stored in the memory. Oracle allows the programmer to
access this result set in the memory through cursors.
Why use a cursor?
Many times, when a query returns more than one row as a
result, we might want to go through each row and process the
data in different way for them. Cursor is handy here.
Types of cursors:
Oracle PL/SQL declares a cursor implicitly for all queries
and DML statements (including queries that return only one
row). But in most of the cases we don’t use these cursors
for queries that return one row. Based on this, there are 2
types of cursors
1. Explicit cursor
2. Implicit cursor
| Is This Answer Correct ? | 13 Yes | 2 No |
Answer / ram
1. nth highest salary
-> select *from emp e where &n =(select count(distinct sal)
from emp m where e.sal <= m.sal);
2. -> Cursor.
When a query is executed in oracle, a result set is
produced and stored in the memory. Oracle allows the
programmer to access this result set in the memory through
cursors.
use a cursor?
Many times, when a query returns more than one row as a
result, we might want to go through each row and process
the data in different way for them. Cursor is handy here.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / biswa
select distinct(e1.sal) from emp e1 where &n=(select count(distinct(e2.sal)) from emp e2 where e1.sal <=e2.sal)
| Is This Answer Correct ? | 2 Yes | 0 No |
Hi Suraj,
Your SQL query is not working? so please try in oracle and
once again load to site.
Thanks for ur help.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / venky
select * from emp e where &n=(select count(distinct(b.sal))
from emp b where e.sal=b.sal);
| Is This Answer Correct ? | 1 Yes | 3 No |
Answer / tina
select min(sal)
from tablename
where sal in
(select top n-1 sal from tablename order by sal desc)
| Is This Answer Correct ? | 0 Yes | 2 No |
Answer / sbvp
select * from table name where sal in ( select * from
(select distinct sal from tablename order by sal desc)
where rownum<=&n);
if there is any another query plz tell me r mail me
| Is This Answer Correct ? | 2 Yes | 6 No |
Answer / sree
select sal from emp e where nth=(select count(*) from emp
where sal>e.sal);
| Is This Answer Correct ? | 5 Yes | 12 No |
What are the connected or unconnected transforamations?
What is a joiner transformation?
how can u generate sequence of values in which target has more than 2billion of records.(but with sequence generator u can generate upto 2 biliion only)
What is union transformation in informatica?
What is a predefined event?
what is the predefined port in dynamic lookup
Differentiate between a repository server and a powerhouse?
How to delete the (flat file) data in the target table after loaded.
what is the difference between lookupoveride and joiner?
What are the different types of olap? Give an example?
how can send duplicate records to one tableand non duplicate records to one table with simple clear mapping?
2,can we insert duplicate data with dynamic look up cache,if yes than why and if no why?