Hi,

Can anybody please explain me the flow of the below query.
I am not able to understand how this query works.

This query is for finding the Nth highest salary..

SELECT DISTINCT (a.sal)
FROM EMP A
WHERE &N = (SELECT COUNT (DISTINCT (b.sal)) FROM EMP B
WHERE a.sal<=b.sal);

If N = 2 then second highest salary will be the o/p.
If N = 3 then third highest salary will be the o/p.
and so on..

Thanks,
Nitin

Answers were Sorted based on User's Feedback



Hi, Can anybody please explain me the flow of the below query. I am not able to understand how t..

Answer / satyajit patel

The Query above gives the nth highest distinct salary.

For explanation let a table emp with sal column like below
sal
1200
1300
1500
1200
1250
1700
1250
2000

See DISTINCT word is there in the query
So, you have to find the distinct sal first.
sal
1200
1300
1500
1250
1700
2000
Now see the condition a.sal<= b.sal

This condition compares a.sal and b.sal. The COUNT counts
how many times the a.sal is less than or equal to b.sal,
and gives this value as the output of sub query.
(N.B. comparing to same value means EQUAL SO count is 1).
This count is the value of N.

So after comparision the value of N for different salaries
are like
sal N
1200 6
1300 4
1500 3
1250 5
1700 2
2000 1

Now on querying when you give a value of N the
corresponding value of salary is selected.
Like if you are giving N=2 , then 1700 is displayed.

Is This Answer Correct ?    28 Yes 0 No

Hi, Can anybody please explain me the flow of the below query. I am not able to understand how t..

Answer / avi

Above Answer is correct With small modification that it is a
corelated sub query first it considers sal from a like a.sal
then it compares with all the sal in a sub query the result
will be the no. of counts.This count compares with N value
which matches will be the Nth sal.

Is This Answer Correct ?    5 Yes 0 No

Hi, Can anybody please explain me the flow of the below query. I am not able to understand how t..

Answer / ms75

Detailed answer available on following weblinks
-----------------------------------------------

1) How does this query work?

<http://www.sqlteam.com/article/find-nth-maximum-value-in-
sql-server>

2) How this query works?

<http://www.dbapool.com/forumthread/topic_4361.html>

Is This Answer Correct ?    1 Yes 0 No

Hi, Can anybody please explain me the flow of the below query. I am not able to understand how t..

Answer / nitin

Thank you.

Is This Answer Correct ?    2 Yes 1 No

Hi, Can anybody please explain me the flow of the below query. I am not able to understand how t..

Answer / mandar

HI, this querey is showing the output for the employees
salary. for the which employees salary is highest in that
table this query showing the output.

Is This Answer Correct ?    0 Yes 1 No

Post New Answer

More SQL PLSQL Interview Questions

There is a sequence with min value 100. I want to alter this sequence to min value as 101. If the table has already data in the sequence column as 100,101,102... Is it possible to do so ?

4 Answers   IBM,


Do stored procedures prevent sql injection?

0 Answers  


Why we use triggers in mysql?

0 Answers  


Why indexing is needed?

0 Answers  


What are two virtual tables available during database trigger execution ?

2 Answers  






How are multiple column = value pairs delimited in the SET clause of an UPDATE statement? 1. With commas (SET price = 0, status = 'I') 2. With parentheses (SET (price = 0) (status = 'I')) 3. With double-pipes (SET price = 0 || status = 'I') 4. With square-brackets (SET [price = 0] [status = 'I'] 5. With single or multiple spaces (SET price = 0 status = 'I')

2 Answers  


how do you control the max size of a heap table? : Sql dba

0 Answers  


Write a query to find the name of employees those who have joined on Monday.(based on column hire_date)

15 Answers   Satyam,


What does joining a thread mean?

0 Answers  


Write a query to display the current date in sql?

0 Answers  


How many aggregate functions are available there in sql?

0 Answers  


what are all different types of collation sensitivity? : Sql dba

0 Answers  


Categories