WorksheetsSQL- Join, Group by, having
Total questions: 10
Worksheet time: 5mins
Which of the following SQL statements will retrieve only the records where there is a match between the Customers and Orders tables?
SELECT * FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
SELECT * FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
SELECT * FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
What does the following query return?
sql?
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName, Customers.Country
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
Orders that do not have any associated customers.
All customers and the details of their orders
All orders along with the customer details for the orders
Customers that do not have any orders.
Given the following SQL query, which table's data will be included in the result set even if there is no match in the other table?SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
Customers
Orders
Both tables
Neither Table
How would you modify the following query to display the total number of orders placed by each customer?
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName, Customers.Country
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
Add a GROUP BY clause to group by CustomerName
Add a DISTINCT function and GROUP BY OrderID
Add a COUNT function and GROUP BY OrderDate
Add a COUNT function and GROUP BY CustomerName
Which SQL clause is used to group rows that have the same values in specified columns?
ORDER BY
GROUP BY
HAVING
DISTINCT
What will the following query return?
SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID GROUP BY ShipperName;
The total number of orders delivered by each shipper
The total number of orders placed by each customer
The total number of orders with their shipper names
he total number of customers who placed orders
Which keyword is used to filter the grouped rows in the result set based on a condition?
WHERE
GROUP BY
DISTINCT
HAVING
Given the following SQL query:
SELECT Customers.CustomerName, Orders.OrderID, Orders.OrderDate FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Orders.OrderDate IS NULL;
What is the result of this query?
It returns all customers who have placed at least one order
It returns all customers and their order details, including those with no orders
It returns customers who have not placed any orders
It returns customers with orders that have a NULL OrderDate
Given the following SQL query:
SELECT Orders.OrderID, Customers.CustomerName FROM Orders RIGHT JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Orders.OrderID IS NULL;
What does this query return?
Orders that have no matching customer records
Customers who have not placed any orders
Orders with NULL CustomerID
Customers with multiple orders
Consider the following SQL query:
SELECT Customers.Country, COUNT(Orders.OrderID) AS TotalOrders FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID GROUP BY Customers.Country HAVING COUNT(Orders.OrderID) > 5;
What does this query return?
All countries and their total number of orders
Countries with more than 5 customers
Countries with more than 5 orders
Customers from countries that have placed exactly 5 orders
