You develop a Microsoft SQL Server 2012 database that contains tables named Customers
and Orders. The tables are related by a column named CustomerId.
You need to create a query that meets the following requirements:
Returns the CustomerName for all customers and the OrderDate for any orders that they
have placed.
Results must not include customers who have not placed any orders.
Which Transact-SQL query should you use?
A.
SELECT CustomerName, OrderDate
FROM Customers
LEFT OUTER JOIN Orders
ON Customers.CuscomerlD = Orders.CustomerId
B.
SELECT CustomerName, OrderDate
FROM Customers
RIGHT OUTER JOIN Orders
ON Customers.CustomerID = Orders.CustomerId
C.
SELECT CustomerName, OrderDate
FROM Customers
CROSS JOIN Orders
ON Customers.CustomerId = Orders.CustomerId
D.
SELECT CustomerName, OrderDate
FROM Customers
JOIN Orders
ON Customers.CustomerId = Orders.CustomerId
Explanation:
Reference:
http://msdn.microsoft.com/en-us/library/ms177634.aspx
A will be correct.
Question ask for all Customers Name and any orders if they may have.
A is not correct.Correct answer is D, because question also says “Result must not include customers who have not placed any orders”.
D is the right answer
since we want only customers that have orders
but left join will give us customers that orders as well as have no orders
D is the right answer
D is the right answer