1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post...
-
Upload
kimberly-owens -
Category
Documents
-
view
219 -
download
1
Transcript of 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post...
![Page 1: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/1.jpg)
1
All Powder Board and Ski
Microsoft Access WorkbookChapter 5: Advanced QueriesJerry PostCopyright © 2007
![Page 2: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/2.jpg)
2
Primary Tables
![Page 3: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/3.jpg)
3
Find Best Customers: 1
Total sales by customer.
![Page 4: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/4.jpg)
4
Action
ActionCreate a new query in Design viewTables: Customer, Sale, SaleItemColumns: CustomerID, LastName, FirstName,
SalesValue: [QuantitySold]*[SalePrice]Sum the SalesValue, Group By the restSave query as CustomerSalesCreate new query in Design viewTable: CustomerSales queryColumns: SalesValueSet Totals and select AvgRun the query
![Page 5: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/5.jpg)
5
Average Customer Sales
SELECT Avg(CustomerSales.SalesValue) AS AvgOfSalesValue
FROM CustomerSales;
$942.11
![Page 6: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/6.jpg)
6
Action
ActionCreate a new query in Design viewTable: CustomerSales queryColumns: LastName, FirstName, SalesValueCriteria for SalesValue (enter in SQL)>(SELECT Avg(SalesValue) FROM CustomerSales)
![Page 7: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/7.jpg)
7
Best Customers
SELECT .LastName, FirstName, SalesValueFROM CustomerSalesWHERE SalesValue > (Select Avg(SalesValue) FROM CustomerSales)ORDER BY SalesValue DESC;
![Page 8: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/8.jpg)
8
INNER JOIN: Sales and Rentals
SELECT Rental.RentDate, Rental.CustomerID, Sale.CustomerID, Sale.SaleDate
FROM Rental INNER JOIN Sale ON Rental.CustomerID = Sale.CustomerID;
![Page 9: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/9.jpg)
9
Action
ActionCreate a new query in Design viewTables: Rental and SaleColumns: RentDate, SaleDate, and CustomerID
from both tables.Join the tables on CustomerIDRun the queryJoin the tables on RentDate=SaleDateRun the query
![Page 10: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/10.jpg)
10
Inner Join: Same Customer and Day
SELECT Rental.RentDate, Rental.CustomerID, Sale.CustomerID, Sale.SaleDate
FROM Rental INNER JOIN Sale ON (Rental.RentDate = Sale.SaleDate) AND (Rental.CustomerID = Sale.CustomerID);
![Page 11: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/11.jpg)
11
Action
ActionCreate a new query in Design viewTables: Customer, Sale, RentalColumns: LastName, FirstName, and
CustomerID from Sale and RentalDelete join from Rental to CustomerAdd join from Sale to RentalDouble click this new joinSelect option to include all from SaleRun the query
![Page 12: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/12.jpg)
12
LEFT JOIN: Sales + Rental
SELECT Customer.LastName, Customer.FirstName, Sale.CustomerID, Rental.CustomerID
FROM (Customer INNER JOIN Sale ON Customer.CustomerID = Sale.CustomerID) LEFT JOIN Rental ON Sale.CustomerID = Rental.CustomerID;
Join Properties: Left Join
![Page 13: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/13.jpg)
13
LEFT JOIN Results
Customers who purchased items without renting anything have missing (Null) values for the Rental.CustomerID
![Page 14: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/14.jpg)
14
Action
ActionCreate a new query in Design viewTables: Customer and SaleColumns: LastName, FirstName, and
CustomerIDCriteria for CustomerID (use SQL): Not In
(SELECT CustomerID FROM Rental)Check the SQLRun the query
![Page 15: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/15.jpg)
15
NOT IN
SELECT Customer.LastName, Customer.FirstName, Customer.CustomerIDFROM Customer INNER JOIN Sale ON Customer.CustomerID = Sale.CustomerIDWHERE Customer.CustomerID Not In (SELECT CustomerID FROM Rental)ORDER BY Customer.LastName, Customer.FirstName;
![Page 16: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/16.jpg)
16
Action
ActionCreate a new query in Design viewTable: InventoryColumns: ModelID and QuantityOnHandSum the QuantityOnHand and sort it in descending orderRun the querySave it as ModelsOnHandCreate a new table in Design viewColumns: CategoryID, CategoryName, LowLimit, HighLimitSave it as SalesCategoryEnter data
![Page 17: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/17.jpg)
17
Model Quantity On Hand
![Page 18: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/18.jpg)
18
Categories
![Page 19: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/19.jpg)
19
Action
ActionCreate a new query in Design viewTables: ModelsOnHand and SalesCategoryColumns: ModelID, SumOfQuantityOnHand,
CategoryID, and CategoryNameIn SQL view add the inequality joinRun the query
![Page 20: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/20.jpg)
20
Inequality Join
SELECT ModelsOnHand.ModelID, ModelsOnHand.SumOfQuantityOnHand, SalesCategory.CategoryID, SalesCategory.CategoryName
FROM ModelsOnHand INNER JOIN SalesCategory ON (ModelsOnHand.SumOfQuantityOnHand>=SalesCategory.LowLimit) AND (ModelsOnHand.SumOfQuantityOnHand<SalesCategory.HighLimit);
The join cannot be displayed in design view and must be entered by hand in SQL view.
![Page 21: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/21.jpg)
21
Sales Categories
![Page 22: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/22.jpg)
22
Action
ActionCreate a new query in Design viewTables: Customer and SaleColumns: CustomerID, LastName, FirstName, and SaleDateSet January sale date in criteria rowSwitch to SQLCopy the entire statementAdd the word UnionPaste the SELECT statement and change the date condition to
MarchRun the query
![Page 23: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/23.jpg)
23
UNION Query
List customers who bought items in January or in March.
Note: it could be done with simple conditions, but it is good practice for UNION.
SELECT Customer.CustomerID, LastName, FirstName, "Jan" As SaleMonthFROM Customer INNER JOIN Sale ON Customer.CustomerID = Sale.CustomerIDWHERE (((Sale.SaleDate) Between #1/1/2004# And #1/31/2004#))UNIONSELECT Customer.CustomerID, LastName, FirstName, "Mar" As SaleMonthFROM Customer INNER JOIN Sale ON Customer.CustomerID = Sale.CustomerIDWHERE (((Sale.SaleDate) Between #3/1/2004# And #3/31/2004#));
![Page 24: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/24.jpg)
24
Action
ActionCreate a new query in Design viewTables: Rental, RentItem, Inventory, and ItemModelColumns: RentDate, Category, RentFeeSet totals to sum RentFeeSet “Where” and criteria for RentDate to Between
[Start Date] And [End Date]Run the query
![Page 25: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/25.jpg)
25
Query Parameters
![Page 26: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/26.jpg)
26
Action
ActionCreate a new query in Design viewDo not select any tablesSwitch to SQL viewEnter the CREATE TABLE commandRun the query
![Page 27: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/27.jpg)
27
CREATE TABLE Query
CREATE TABLE Contacts(
ContactID Long,ManufacturerID Long,LastName Text(25),FirstName Text(25),Phone Text(15),Email Text(120),
CONSTRAINT pk_Contacts PRIMARY KEY (ContactID),CONSTRAINT fk_ContactsManufacturer FOREIGN KEY (ManufacturerID) REFERENCES Manufacturer(ManufacturerID)
);
![Page 28: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/28.jpg)
28
Create a Temporary Table
CREATE TABLE MyTemp(
ID Long,LName Text(25),FName Text(25)
);
![Page 29: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/29.jpg)
29
Action
ActionCreate a new query in Design viewDo not select any tablesSwitch to SQL viewType the INSERT command: INSERT INTO Customer
(LastName, FirstName, City, Gender) VALUES ('Jones', 'Jack', 'Nowhere', 'Male');
Run the query
![Page 30: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/30.jpg)
30
INSERT INTO (One Row)
INSERT INTO Customer (LastName, FirstName, City, Gender)
VALUES ('Jones', 'Jack', 'Nowhere', 'Male');
![Page 31: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/31.jpg)
31
INSERT INTO (Copy Rows)
INSERT INTO MyTemp (ID, LName, FName)
SELECT CustomerID, LastName, FirstName
FROM Customer
WHERE City='Sacramento'
;
![Page 32: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/32.jpg)
32
Action
ActionCreate a new query in Design viewTable: ItemModelColumns: Category, ModelYear, and CostCriteria: Category=”Board” And ModelYear=2004Run the queryChoose Query/Update QueryUnder Cost set Update To: Round([Cost]*1.04,2)Run the query
![Page 33: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/33.jpg)
33
UPDATE Board Cost
Query / Update Query
New value
UPDATE ItemModel SET Cost = Round([Cost]*1.04,2)WHERE (Category="Board") AND (ModelYear=2004);
Run
![Page 34: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/34.jpg)
34
Action
ActionCreate a new query in Design viewTable: MyTempColumns: ID, LName, FNameCriteria: ID>100Test the queryChoose Query/Delete QueryRun the query
![Page 35: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/35.jpg)
35
DELETE Rows
DELETE FROM MyTempWHERE ID > 100;
![Page 36: 1 All Powder Board and Ski Microsoft Access Workbook Chapter 5: Advanced Queries Jerry Post Copyright © 2007.](https://reader033.fdocuments.in/reader033/viewer/2022061306/551472c1550346b0158b512f/html5/thumbnails/36.jpg)
36
DROP TABLE
DROP TABLE MyTemp;