What is the difference between IN and EXISTS operators in
SQL Server?
Answers were Sorted based on User's Feedback
Answer / monal
HERE'S THE SIMPLE ANSWER:
WHEN YOU USE 'IN', WHILE CHECKING FOR WHERE CONDITION SQL
SERVER ENGINE DOES WHOLE TABLE SCAN.
IF YOU USE 'EXISTS' AS SOON AS ENGINE FINDS THE REQUIRED
ROW IT WILL STOP EXECUTING QUERY AND GOING FURTHER SCANNING
TABLE.
SO BASICALLY EXISTS IS FASTER AS COMPARED TO IN.
Is This Answer Correct ? | 146 Yes | 14 No |
Answer / vijaykumar dolli
using the IN clause, you're telling the rule-based
optimizer that you want the inner query to drive the outer
query (think: IN = inside to outside).
When you write EXISTS in a where clause, you're telling the
optimizer that you want the outer query to be run first,
using each value to fetch a value from the inner query
(think: EXISTS = outside to inside).
Thank you
Is This Answer Correct ? | 106 Yes | 15 No |
Answer / pranab
IN:
Returns true if a specified value matches any value in a
sub-query or a list.
Exists:
Returns true if a sub-query contains any rows.
Is This Answer Correct ? | 27 Yes | 8 No |
Answer / navneet sharma
IN work like a OR in sql query but in is faster than OR in
case of IN server will search whole table
EXISTS is use to find the required row and does not search
whole table
Is This Answer Correct ? | 29 Yes | 16 No |
Answer / arslan
the basic difference between in and exists
let's take the example of for loop in c++ and in loops when you write break statement it will iterates until the condition of break statement will true this like exist and in
if you didn't put break in it then it will execute the whole loop
Is This Answer Correct ? | 7 Yes | 7 No |
Answer / raja
in operator returns the condition satisfied rows only
But in exists operator if any condition satisfied it will returns all the rows.
Is This Answer Correct ? | 6 Yes | 15 No |
What is RAID? What are the different types of RAID configurations?
What number aggregate functions are accessible there in sql?
Can a table be moved to different filegroup?
Explain what is lock escalation?
What is sparse columns of sql server 2008?
What are the differences between user defined functions and stored procedures?
What is ddl and dml commands?
Explain basic SQL queries with SELECT from where Order By, Group By-Having?
Does partitioning help performance?
what are defaults? : Sql server database administration
How to fetch records from a One to Many relationship table. eg: wanna get details of all orders for a specific customer. (do not want repeatation of master table records for child table records)
How to execute a stored procedure in ms sql server?