Difference between IN and EXISTS
Answers were Sorted based on User's Feedback
Answer / udaykumar
IN - returns a numeric value.
EXIT - returns a boolean value.
Is This Answer Correct ? | 7 Yes | 2 No |
Answer / anju saxena
The EXISTS operator tests whether a given set is empty or
not. An exist operator on empty set returns False while on
nonempty set it returns True.
IN operator is used where membership of the element has to
tested against the set.
Is This Answer Correct ? | 8 Yes | 4 No |
Answer / subathra
IN: Inner query executes first and drives the outer query.
EXISTS: Outer query executes first and compares tge rows
retrived with the inner query.
Consider table tab1 has 1000 rows and table tab2 has 1000
rows.
IN: select t1.empid from tab1 t1 where t1.code in (select
t2.code from tab2 t2) -- All rows in t1 will read with t2
and the effect is 1000 X 1000 rows.
EXISTS: select t1.empid from tab1 t1 where exists (select 1
from tab2 t2 where t1.code=t2.code) -- Max of 1 row will be
read for each row of t1 and thus reduces the processing
overhead.
Thumb rule:
1) If the majority of the filtering are in the sub query
then use IN.
1) If the majority of the filtering are in the outer query
then use EXISTS.
Is This Answer Correct ? | 4 Yes | 0 No |
Answer / yaswanth
IN looks for specified value and
EXISTS looks for whether particular row exists or not
Is This Answer Correct ? | 2 Yes | 0 No |
Can you have more than one trigger on a table?
How do you update f as m and m as f from the below table testtable?
What is window clause?
How to use sql*plus built-in timers?
How do you retrieve the second highest salary from a table?
What is information schema in sql?
How do you retrieve the last N records from a table?
what is primary key? : Sql dba
what is a stored procedure? : Sql dba
what is meant by nl2br()? : Sql dba
How do I access sql anywhere database?
what is an index? : Sql dba