Below mentioned are the queries for same result set but different sql methods are used, please tell me which is the most efficient way of acheiving the task and how they are different from one another?
Queries are:
SELECT Name FROM Customers WHERE EXISTS
(SELECT Item FROM Orders
WHERE Customers.ID = Orders.ID AND Price < 50)
SELECT Name FROM Customers
INNER JOIN Orders ON Customers.ID = Orders.ID
WHERE Orders.Price < 50
SELECT Name FROM Customers WHERE Customers.ID IN
(SELECT Orders.ID FROM Orders
WHERE Customers.ID = Orders.ID AND Price < 50)
SELECT Name FROM Customers WHERE Customers.ID ALL =
(SELECT Orders.ID FROM Orders WHERE Customers.ID = Orders.ID AND Price < 50)