database queries aka sql (pronounced “ sequel ” )
TRANSCRIPT
Database Queriesaka
SQL (pronounced “sequel”)
What is SQL?What is SQL?
SQL = SQL = SStandard tandard QQuery uery LLanguageanguage
SQL is a language for retrieving, SQL is a language for retrieving, creating, modifying, or removing data creating, modifying, or removing data from just about any modern databasefrom just about any modern database
What is SQL?What is SQL? To get information from a database To get information from a database
file, a user issues a “query”file, a user issues a “query” A “query” is a request to retrieve dataA “query” is a request to retrieve data MS Access will go through all the MS Access will go through all the
records in the database and “select” records in the database and “select” those records that satisfy the search those records that satisfy the search conditioncondition
SQL (Structured Query Language) SQL (Structured Query Language) allows a user to specify the conditions allows a user to specify the conditions without writing complex codewithout writing complex code
Basic SQL CommandsBasic SQL Commands
Creating tables with CREATECreating tables with CREATE Adding data with INSERTAdding data with INSERT
Viewing data with SELECTViewing data with SELECT Removing data with DELETERemoving data with DELETE Modifying data with UPDATEModifying data with UPDATE Destroying tables with DROPDestroying tables with DROP
Retrieving Data from Retrieving Data from OneOne Table Table
The SELECTThe SELECT
SELECTSELECT column1, column2, …column1, column2, …
FROMFROM tablenametablename
{WHERE{WHERE condition condition}}
{ORDER BY{ORDER BY column column}}
A few simple SELECTsA few simple SELECTs
SELECT * FROM contacts;SELECT * FROM contacts;– Display all records in the ‘contacts’ tableDisplay all records in the ‘contacts’ table
SELECT contactid, name FROM contacts;SELECT contactid, name FROM contacts;– Display only the contactid and nameDisplay only the contactid and name
SELECT contactname FROM contacts SELECT contactname FROM contacts ORDER BY contactname;ORDER BY contactname;– Display only the contactname, sort by nameDisplay only the contactname, sort by name
The SELECTThe SELECT
SELECTSELECT **
FROMFROM TABLE;TABLE;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
ALL Columns
No WHERE Clause so ALL Rows are Returned
End of Command
Refining selections with Refining selections with WHEREWHERE
The WHERE “clause” allows you to select The WHERE “clause” allows you to select records based on a conditionrecords based on a condition
SELECT * FROM contactsSELECT * FROM contactsWHERE age<10;WHERE age<10;
– Display records from contacts where Display records from contacts where age<10age<10
SELECT * FROM contactsSELECT * FROM contactsWHERE age BETWEEN 18 AND 35;WHERE age BETWEEN 18 AND 35;
– Display records where age is 18-35Display records where age is 18-35
WHERE with “WHERE with “ANDAND””SELECTSELECT **
FROMFROM SALES_DATASALES_DATA
WHEREWHERE Department = 'Water Sports'Department = 'Water Sports'
ANDAND Buyer = 'Nancy Meyers';Buyer = 'Nancy Meyers';
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
WHERE with “WHERE with “OROR””
SELECTSELECT **FROMFROM SALES_DATASALES_DATAWHEREWHERE Department = 'Camping'Department = 'Camping' OROR Department = 'Climbing';Department = 'Climbing';
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
WHERE with “WHERE with “ININ””SELECTSELECT **FROMFROM SALES_DATASALES_DATAWHEREWHERE Buyer Buyer ININ ('Nancy Meyers', ('Nancy Meyers',
'Cindy Lo', 'Jerry Martin');'Cindy Lo', 'Jerry Martin');
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
WHERE with “WHERE with “BETWEENBETWEEN””SELECTSELECT **FROMFROM ORDERSORDERSWHEREWHERE ExtendedPriceExtendedPrice
BETWEENBETWEEN 100 AND 200; 100 AND 200;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
WHERE with “WHERE with “LIKELIKE””
SELECTSELECT **
FROMFROM SALES_DATASALES_DATA
WHEREWHEREBuyer Buyer LIKELIKE 'Pete*'; 'Pete*';
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
WHERE with “WHERE with “LIKELIKE””SELECTSELECT **FROMFROM SALES_DATASALES_DATAWHEREWHERESKU_Description SKU_Description
LIKELIKE ‘*Tent*'; ‘*Tent*';
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
Time for Hands-OnTime for Hands-On
Photo © Charles Darwin University 2005
SQL Built-in Functions SQL Built-in Functions
There are five SQL Built-in There are five SQL Built-in Functions:Functions:– COUNTCOUNT– SUMSUM– AVGAVG– MINMIN– MAXMAX
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
SQL Built-in FunctionsSQL Built-in Functions
SELECTSELECT SUM (ExtendedPrice)SUM (ExtendedPrice)
ASAS Order3000SumOrder3000Sum
FROMFROM ORDERSORDERS
WHEREWHEREOrderNumber = 3000;OrderNumber = 3000;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
Column Heading
SQL Built-in Functions SQL Built-in Functions (Continued)(Continued)
SELECTSELECT SUM (ExtendedPrice) SUM (ExtendedPrice) AS OrderItemSum,AS OrderItemSum,
AVG (ExtendedPrice)AVG (ExtendedPrice)AS OrderItemAvg,AS OrderItemAvg,
MIN (ExtendedPrice)MIN (ExtendedPrice)AS OrderItemMin,AS OrderItemMin,
MAX (ExtendedPrice)MAX (ExtendedPrice)AS OrderItemMaxAS OrderItemMax
FROMFROM ORDERS;ORDERS;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
SQL Built-in Functions SQL Built-in Functions (Continued)(Continued)
SELECTSELECT COUNT(*) AS NumRowsCOUNT(*) AS NumRows
FROMFROM ORDERS;ORDERS;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
Arithmetic in SELECT Arithmetic in SELECT Statements Statements
SELECTSELECT Quantity * PriceQuantity * Price AS EP, AS EP,
ExtendedPriceExtendedPrice
FROMFROM ORDERS;ORDERS;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
Time for Hands-OnTime for Hands-On
Photo © Charles Darwin University 2005
Retrieving Data from Retrieving Data from More Than OneMore Than One Table Table
Make a list of students including phone number Make a list of students including phone number and addressand address
JoinJoin
Person
Phone Address
Joining together tablesJoining together tables
PersonPersonPersonIDPersonID NameName AddressIDAddressID
11 JoeJoe 1010
22 JaneJane 2020
33 ChrisChris 3030
AddressAddressAddressIDAddressID CompanyCompany StreetStreet ZipZip
1010 ABCABC 12 Road12 Road 1234512345
2020 XYZXYZ 45 Road45 Road 1445414454
3030 PDQPDQ 78 Road78 Road 1442314423
PhonePhone
PhoneIDPhoneID PersonIDPersonID PhoneNumPhoneNum
100100 11 55555325555532
200200 11 55522345552234
300300 11 55532115553211
400400 22 55534215553421
500500 33 55523415552341
600600 33 55566555556655
The SELECT with a JOIN ClauseThe SELECT with a JOIN Clause
SELECTSELECT TABLE1.Column,TABLE1.Column,
TABLE2.ColumnTABLE2.Column
FROMFROM TABLE1, TABLE2TABLE1, TABLE2
WHEREWHERETABLE1.PrimaryKey =TABLE1.PrimaryKey =
TABLE2.PrimaryKey;TABLE2.PrimaryKey;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
The SELECT with a JOIN ClauseThe SELECT with a JOIN Clause
SELECTSELECT PERSON.Name, PERSON.Name,
PHONE.PhoneNumPHONE.PhoneNum
FROMFROM PERSON, PHONEPERSON, PHONE
WHEREWHERE PERSON.PersonID = PERSON.PersonID = PHONE.PersonIDPHONE.PersonID;;
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
The SELECT with two JOIN The SELECT with two JOIN ClausesClauses
SELECTSELECT PERSON.Name, PERSON.Name,
PHONE.PhoneNum, PHONE.PhoneNum,
ADDRESS.ZipADDRESS.Zip
FROMFROM PERSON, PHONE, ADDRESSPERSON, PHONE, ADDRESS
WHEREWHEREPERSON.PersonID = PERSON.PersonID = PHONE.PersonID PHONE.PersonID
ANDAND PERSON.AddressID = PERSON.AddressID = ADDRESS.AddressIDADDRESS.AddressID
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall
SELECTSELECT P.Name, PH.PhoneNumP.Name, PH.PhoneNum
FROMFROM PERSON P , PHONE PH PERSON P , PHONE PH
WHEREWHERE P.PersonID = P.PersonID = PH.PersonIDPH.PersonID
Alias (Shorthand) for Table Name
The SELECT with a JOIN ClauseThe SELECT with a JOIN Clause
Time for Hands-OnTime for Hands-On
Photo © Charles Darwin University 2005
Writing SQL in Writing SQL in MS Access 2007MS Access 2007
Click Click “Create”“Create”
Click Click “Query “Query Design”Design”
Click Click “Close”“Close”
Click Click “SQL”“SQL”
Click Click
““!! Run” Run”