Show
Sample Queries
The Nwind sample database provided on CD with Manifold System is a version of the standard
Microsoft Northwind.mdb database that is provided with Microsoft Access. It contains numerous tables and
queries that may be used to learn database and query concepts.
This topic lists queries that are part of the Nwind database, with some minor adjustments for Manifold SQL.
AutoLookup
SELECT DISTINCTROW Orders.[Order ID], Orders.[Order Date], Orders.[Customer
ID], Customers.[Company Name], Customers.Address, Customers.City,
Customers.Region, Customers.[Postal Code], Customers.Country,
Customers.Phone
FROM Customers INNER JOIN Orders ON Customers.[Customer ID] = Orders.
[Customer ID]
ORDER BY Orders.[Order ID];
Catalog
SELECT DISTINCTROW [Categories].[Category Name],
[Products].[Product Name], [Categories].[Description],
[Products].[Product ID], [Products].[Quantity Per Unit],
[Products].[Unit Price], [Products].[Discontinued]
FROM [Categories] INNER JOIN [Products] ON [Categories].[Category ID] =
[Products].[Category ID]
WHERE ([Products].[Discontinued] = No) ORDER BY [Categories].[Category
Name], [Products].[Product Name];
Category List
SELECT DISTINCTROW Categories.[Category Name], Categories.[Category ID]
FROM Categories
ORDER BY Categories.[Category Name];
Category Sales for 1993
SELECT DISTINCTROW [Sales for 1993].[Category Name], Sum([Sales for 1993].
[Product Sales]) AS [Category Sales]
FROM [Sales for 1993]
GROUP BY [Sales for 1993].[Category Name];
Customer List
SELECT DISTINCTROW Customers.[Company Name], Customers.[Customer ID]
FROM Customers
ORDER BY Customers.[Company Name];
Daily Order Totals
SELECT DISTINCTROW Orders.[Order Date], Count(Orders.[Order ID]) AS
[CountOfOrder ID], Sum([Order Subtotals].Subtotal) AS SumOfSubtotal
FROM Orders INNER JOIN [Order Subtotals] ON Orders.[Order ID] = [Order
Subtotals].[Order ID]
GROUP BY Orders.[Order Date];
Employee List
SELECT DISTINCTROW [Last Name] & ", " & [First Name] AS [Employee Name],
Employees.[Employee ID]
FROM Employees
ORDER BY [Last Name] & ", " & [First Name];
Employee Sales by Country (Parameter)
PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;
SELECT Orders.[Order ID], [Last Name] & ", " & [First Name] AS Salesperson,
Employees.Country, Orders.[Shipped Date], [Order Subtotals].Subtotal AS
[Sale Amount]
FROM Employees INNER JOIN (Orders INNER JOIN [Order Subtotals] ON Orders.
[Order ID] = [Order Subtotals].[Order ID]) ON Employees.[Employee ID] =
Orders.[Employee ID]
WHERE ((Orders.[Shipped Date] Between [Beginning Date] And [Ending Date]))
ORDER BY [Last Name] & ", " & [First Name], Employees.Country, Orders.
[Shipped Date];
Employee Sales for 1993
SELECT DISTINCTROW Sum([Order Subtotals].Subtotal) AS [Employee Sales],
[First Name] & " " & [Last Name] AS [Employee Name], Employees.[Last Name],
Employees.[First Name]
FROM Employees INNER JOIN ([Order Subtotals] INNER JOIN Orders ON [Order
Subtotals].[Order ID] = Orders.[Order ID]) ON Employees.[Employee ID] =
Orders.[Employee ID]
WHERE ((Orders.[Order Date] Between #01/1/93# And #12/31/93#))
GROUP BY [First Name] & " " & [Last Name], Employees.[Last Name],
Employees.[First Name];
Freight Charges
SELECT DISTINCTROW Shippers.[Company Name], Orders.[Order ID],
Orders.Freight, Orders.[Shipped Date]
FROM Shippers INNER JOIN Orders ON Shippers.[Shipper ID] = Orders.[Ship
Via]
WHERE ((Orders.[Shipped Date] Between #03/25/93# And #03/31/93#))
ORDER BY Shippers.[Company Name], Orders.[Order ID];
Invoices
SELECT DISTINCTROW Orders.[Shipped Date], Orders.[Ship Name], Orders.[Ship
Address], Orders.[Ship City], Orders.[Ship Region], Orders.[Ship Postal
Code], Orders.[Ship Country], Orders.[Customer ID], Customers.[Company
Name], Customers.Address, Customers.City, Customers.Region, Customers.
[Postal Code], Customers.Country, Employees.[Last Name], Employees.[First
Name], [Order Details].[Order ID], Orders.[Order Date], Orders.[Required
Date], Orders.[Ship Via], [Order Details].[Product ID], Products.[Product
Name], [Order Details].Quantity, [Order Details].[Unit Price], [Order
Details].Discount, Orders.Freight
FROM Employees INNER JOIN ((Customers INNER JOIN Orders ON Customers.
[Customer ID] = Orders.[Customer ID]) INNER JOIN (Products INNER JOIN
[Order Details] ON Products.[Product ID] = [Order Details].[Product ID]) ON
Orders.[Order ID] = [Order Details].[Order ID]) ON Employees.[Employee ID]
= Orders.[Employee ID]
ORDER BY Orders.[Shipped Date];
Order Details Extended
SELECT DISTINCTROW [Order Details].[Order ID], Products.[Product Name],
[Order Details].[Product ID], [Order Details].[Unit Price], [Order
Details].Quantity, [Order Details].Discount, CLng([Order Details].[Unit
Price]*[Quantity]*(1-[Discount])*100)/100 AS [Extended Price]
FROM Products INNER JOIN [Order Details] ON Products.[Product ID] = [Order
Details].[Product ID];
Order Information
SELECT DISTINCTROW Orders.[Order ID], Orders.[Customer ID], Customers.
[Company Name], Customers.Address, Customers.City, Customers.Region,
Customers.[Postal Code], Customers.Country, Orders.[Ship Name], Orders.
[Ship Address], Orders.[Ship City], Orders.[Ship Region], Orders.[Ship
Postal Code], Orders.[Ship Country], Orders.[Ship Via], Orders.[Employee
ID], Orders.[Order Date], Orders.[Required Date], Orders.[Shipped Date],
Orders.Freight
FROM Customers INNER JOIN Orders ON Customers.[Customer ID] = Orders.
[Customer ID]
ORDER BY Orders.[Order ID];
Order Review
SELECT DISTINCTROW Orders.[Order ID], Orders.[Order Date], Orders.[Required
Date], Orders.[Shipped Date], Orders.[Customer ID], Customers.[Company
Name], Employees.[Last Name], Shippers.[Company Name] AS [Ship Via], [Order
Subtotals].Subtotal, Orders.Freight, [Subtotal]+[Freight] AS Total
FROM Employees INNER JOIN (Shippers INNER JOIN (Customers INNER JOIN
([Order Subtotals] INNER JOIN Orders ON [Order Subtotals].[Order ID] =
Orders.[Order ID]) ON Customers.[Customer ID] = Orders.[Customer ID]) ON
Shippers.[Shipper ID] = Orders.[Ship Via]) ON Employees.[Employee ID] =
Orders.[Employee ID]
ORDER BY Orders.[Order ID] DESC;
Order Subtotals
SELECT DISTINCTROW [Order Details].[Order ID], Sum(CLng([Unit
Price]*[Quantity]*(1-[Discount])*100)/100) AS Subtotal
FROM [Order Details]
GROUP BY [Order Details].[Order ID];
Product List
SELECT DISTINCTROW Categories.[Category Name], Products.[Product Name],
Products.[Product ID], Products.[Units In Stock], Products.[Reorder Level],
Products.[Units On Order], Products.[Quantity Per Unit], Products.[Unit
Price], Categories.Description, Products.Discontinued
FROM Categories INNER JOIN Products ON Categories.[Category ID] = Products.
[Category ID]
WHERE ((Products.Discontinued=False))
ORDER BY Categories.[Category Name], Products.[Product Name];
Product Names and IDs
SELECT DISTINCTROW Products.[Product Name], Products.[Product ID]
FROM Products
ORDER BY Products.[Product Name];
Products and Suppliers
SELECT DISTINCTROW Products.[Product Name], Products.[Product ID],
Products.[English Name], Products.[Category ID], Products.[Supplier ID],
Products.[Quantity Per Unit], Products.[Unit Price], Products.[Units In
Stock], Products.[Units On Order], Products.[Reorder Level],
Products.Discontinued, Suppliers.[Company Name], Suppliers.[Contact Name],
Suppliers.City, Suppliers.Country, Suppliers.Phone
FROM Suppliers INNER JOIN Products ON Suppliers.[Supplier ID] = Products.
[Supplier ID]
ORDER BY Products.[Product Name];
Products on Order
SELECT DISTINCTROW Categories.[Category Name], Products.[Product Name],
Products.[Units In Stock], Products.[Units On Order], Suppliers.[Company
Name], Suppliers.Phone
FROM Categories INNER JOIN (Suppliers INNER JOIN Products ON Suppliers.
[Supplier ID] = Products.[Supplier ID]) ON Categories.[Category ID] =
Products.[Category ID];
Quarterly Orders by Product (Crosstab)
TRANSFORM Sum(CLng([Order Details].[Unit Price]*[Quantity]*
(1-[Discount])*100)/100)
SELECT Products.[Product Name], Orders.[Customer ID]
FROM Orders INNER JOIN
(Products INNER JOIN [Order Details] ON
Products.[Product ID] = [Order Details].[Product ID]) ON
Orders.[Order ID] = [Order Details].[Order ID]
WHERE ((Orders.[Order Date] Between #01/1/93# And #12/31/93#))
GROUP BY Products.[Product Name], Orders.[Customer ID], Orders.[Order Date]
ORDER BY Products.[Product Name]
PIVOT "Qtr " & DatePart("q",[Order Date]) In
("Qtr 1","Qtr 2","Qtr 3","Qtr 4");
Quarterly Orders by Product (Make Table)
SELECT DISTINCTROW [Quarterly Orders by Product (Crosstab)].[Product Name],
[Quarterly Orders by Product (Crosstab)].[Customer ID], [Quarterly Orders
by Product (Crosstab)].[Qtr 1], [Quarterly Orders by Product (Crosstab)].
[Qtr 2], [Quarterly Orders by Product (Crosstab)].[Qtr 3], [Quarterly
Orders by Product (Crosstab)].[Qtr 4] INTO [Quarterly Orders]
FROM [Quarterly Orders by Product (Crosstab)];
Sales by Category
SELECT DISTINCTROW Categories.[Category Name], Products.[Product Name],
Sum(CLng([Order Details].[Unit Price]*[Quantity]*(1-[Discount])*100)/100)
AS [Product Sales]
FROM Orders INNER JOIN ((Categories INNER JOIN Products ON Categories.
[Category ID] = Products.[Category ID]) INNER JOIN [Order Details] ON
Products.[Product ID] = [Order Details].[Product ID]) ON Orders.[Order ID]
= [Order Details].[Order ID]
WHERE ((Orders.[Order Date] Between #01/1/93# And #12/31/93#))
GROUP BY Categories.[Category Name], Products.[Product Name]
ORDER BY Categories.[Category Name], Products.[Product Name];
Sales by Date (Parameter)
PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;
SELECT DISTINCTROW Orders.[Order ID], Orders.[Shipped Date], Customers.
[Company Name], [Order Subtotals].Subtotal AS [Sale Amount]
FROM Customers INNER JOIN ([Order Subtotals] INNER JOIN Orders ON [Order
Subtotals].[Order ID] = Orders.[Order ID]) ON Customers.[Customer ID] =
Orders.[Customer ID]
WHERE ((Orders.[Shipped Date] Between [Beginning Date] And [Ending Date]))
ORDER BY Orders.[Order ID];
Sales by Product
SELECT DISTINCTROW Products.[Product ID], Orders.[Order Date],
Sum(CLng([Order Details].[Unit Price]*[Quantity]*(1-[Discount])*100)/100)
AS [Product Amount]
FROM Orders INNER JOIN (Products INNER JOIN [Order Details] ON Products.
[Product ID] = [Order Details].[Product ID]) ON Orders.[Order ID] = [Order
Details].[Order ID]
GROUP BY Products.[Product ID], Orders.[Order Date];
Sales by Sale Amount
SELECT DISTINCTROW [Order Subtotals].Subtotal AS [Sale Amount], Orders.
[Order ID], Customers.[Company Name], Orders.[Shipped Date]
FROM Customers INNER JOIN (Orders INNER JOIN [Order Subtotals] ON Orders.
[Order ID] = [Order Subtotals].[Order ID]) ON Customers.[Customer ID] =
Orders.[Customer ID]
WHERE ((Orders.[Shipped Date] Between #10/1/93# And #12/31/93#))
ORDER BY [Order Subtotals].Subtotal;
Sales for 1993
SELECT DISTINCTROW Categories.[Category Name], Products.[Product Name],
Sum(CLng([Order Details].[Unit Price]*[Quantity]*(1-[Discount])*100)/100)
AS [Product Sales]
FROM Orders INNER JOIN ((Categories INNER JOIN Products ON Categories.
[Category ID] = Products.[Category ID]) INNER JOIN [Order Details] ON
Products.[Product ID] = [Order Details].[Product ID]) ON Orders.[Order ID]
= [Order Details].[Order ID]
WHERE ((Orders.[Order Date] Between #01/1/93# And #12/31/93#))
GROUP BY Categories.[Category Name], Products.[Product Name];
Sales Totals
SELECT DISTINCTROW [Employees].[First Name] & " " & [Last Name] AS Name,
Orders.[Employee ID], Count(Orders.[Order ID]) AS [CountOfOrder ID],
Sum([Order Subtotals].Subtotal) AS SumOfSubtotal
FROM Employees INNER JOIN ([Order Subtotals] INNER JOIN Orders ON [Order
Subtotals].[Order ID] = Orders.[Order ID]) ON Employees.[Employee ID] =
Orders.[Employee ID]
GROUP BY [Employees].[First Name] & " " & [Last Name], Orders.[Employee
ID];
Subquery
SELECT DISTINCTROW Customers.[Contact Name], Customers.[Company Name],
Customers.[Contact Title], Customers.Phone
FROM Customers
WHERE ((Customers.[Customer ID] In (SELECT DISTINCTROW Orders.[Customer ID]
FROM Orders
WHERE Orders.[Order Date] BETWEEN #04/1/93# AND #07/1/93#)));
Summary of Sales
SELECT DISTINCTROW Orders.[Shipped Date], Orders.[Order ID], [Order
Subtotals].Subtotal AS [Order Amount]
FROM Orders INNER JOIN [Order Subtotals] ON Orders.[Order ID] = [Order
Subtotals].[Order ID];
Summary of Sales (Parameter)
PARAMETERS [Beginning Date] DATETIME, [Ending Date] DATETIME; SELECT
DISTINCTROW [Orders].[Shipped Date], [Orders].[Order ID], [Order
Subtotals].[Subtotal], Year([Shipped Date]) AS [Year] FROM [Orders] INNER
JOIN [Order Subtotals] ON [Orders].[Order ID] = [Order Subtotals].[Order
ID] WHERE ([Orders].[Shipped Date] BETWEEN [Beginning Date] AND [Ending
Date]);
Supplier List
SELECT DISTINCTROW Suppliers.[Company Name], Suppliers.[Supplier ID] FROM
Suppliers
ORDER BY Suppliers.[Company Name];
Ten Most Expensive Products
SELECT DISTINCTROW TOP 10 Products.[Product Name] AS [Ten Most Expensive
Products], Products.[Unit Price]
FROM Products
ORDER BY Products.[Unit Price] DESC;
Union Query
SELECT [Company Name], [City]
FROM [Suppliers]
WHERE Country = "Brazil"
UNION SELECT [Company Name], [City]
FROM [Customers]
WHERE Country = "Brazil";