Top Banner
Accelerated Computer Training for Working Professionals Admissions Case Orange Coast Database Associates Course (800)355-9855 or http://ocdatabases.itgo.com Orange Coast Database Associates Specializing in Microsoft Office, Access, SQL, and related technologies Classes custom designed forWorking Professionals http://www.dhdursoassociates.com San Juan Capistrano, CA (800)355-9855 AIN102 Microsoft Access Queries
88

AIN102 Microsoft Access Queries

Nov 11, 2014

Download

Technology

Dan D'Urso

Microsft Access queries course. Covers basic select quesries, filter conditions, special operators, joins, subqueries, unions, crosstabs and functions.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AIN102 Microsoft Access Queries

Accelerated Computer Training for Working Professionals Admissions Case

Orange Coast Database Associates Course (800)355-9855 or http://ocdatabases.itgo.com

Orange CoastDatabase Associates

Specializing in Microsoft Office,

Access, SQL, and related technologiesClasses custom designed forWorking Professionals

http://www.dhdursoassociates.com

San Juan Capistrano, CA

(800)355-9855

AIN102 Microsoft Access Queries

Page 2: AIN102 Microsoft Access Queries

Admissions AIN1021

AIN102 – Access Query Design

Introduction to Access Queries forexperienced Windows users

P.O. Box 6142Laguna Niguel, CA 92607949-489-1472http://www.d2associates.com

AdmissionsAIN1022

AIN102 Contact Information

P.O. Box 6142Laguna Niguel, CA 92607949-489-1472http://[email protected]

Copyright 2001-20011 All rights reserved.

Page 3: AIN102 Microsoft Access Queries

AIN102 Notes

This course is based on an earlier course,SQL200A, which was focused on using SQL inthe Access environment. As such thescreenshots still reflect SQL view as well theQuery Designer view. This is actually a plus.

AdmissionsAIN1023

AdmissionsAIN1024

Introduction (s) Facilities Course Packet (May vary by course or class)

– Student questionnaire in front– Collaterals (Map, Catalog, Etc.)– PowerPoint handouts for all sessions– Evaluation form in back– Training Certificate

AIN102 – Access Query Design

Page 4: AIN102 Microsoft Access Queries

AdmissionsAIN1025

Orange Coast Database Associates

Loose association of local University instructors and ITProfessionals.

Started in 2004

Training– Open Enrollment (public classes in San Juan Capistrano using

standardized material)

– On-site (custom classes for groups)

– Private desk side training for individuals

Consulting & Programming (incl. offshore)

AdmissionsAIN1026

Page 5: AIN102 Microsoft Access Queries

AdmissionsAIN1027

Quick pace for experienced windows users

Assumes some prior knowledge of Access

End-user, not programmer, oriented

Somewhat structured towards personal use foranalysis and reporting

AIN102 – Access Query Design

AdmissionsAIN1028

Select Queries– Filter Criteria

– Calculations

– Joins

– Grouping

Action Queries– Maketable

– Append

– Update

– Delete

Union

Course Topics:

AIN102 – Access Query Design

Page 6: AIN102 Microsoft Access Queries

AdmissionsAIN1029

Approach:

SQL View Used in code; but helpful inunderstanding what a querydoes

Query Designer Use to construct queries

Access has many ways to accomplish tasks. Queries can beconstructed using SQL View or the Query Designer. Thiscourse focuses on the latter.

AIN102 – Access Query Design

AdmissionsAIN10210

2 Sessions

Lecture

Demo

Extensive student “hands-on”

Exercises are cumulative – laterexamples build on objects createdearlier

Course Format:

AIN102 – Access Query Design

Page 7: AIN102 Microsoft Access Queries

AIN102 Resources

Manuals can be downloaded from SlideShare.

Slides can be viewed on SlideShare…

http://www.slideshare.net/OCDatabases

AdmissionsAIN10211

AdmissionsAIN10212

Session 1

– access-qdes-s1-ad.ppt

Session 2

– access-qdes-s2-ad.ppt

Course Schedule (3 hour sessions):

AIN102 – Access Query Design

Page 8: AIN102 Microsoft Access Queries

1

AIN102

Access Query Design

Orange Coast Database Associates, Inc.949-489-1472http://www.dhdursoassociates.com

AIN102

Access Query Design

Module 1 – Relational Database Background,Basic Single Table Retrieval Operations

Page 9: AIN102 Microsoft Access Queries

2

AIN102 Module 13 Admissions AIN102 Module 13

AIN102

Session 1 – Review of Relational Databasesand Single Table Retrieval, Functions andOperators

Session 2 – Multi-table retrieval, Subqueries,Unions, Action Queries, Indexes

AIN102 Module 14 Admissions AIN102 Module 14

AIN102

Lecture/discussion with demonstrations

– Mostly practical, but a dose of “theory”

Assumes some familiarity with MS Access

Hands-on

Exercises (Mostly cumulative)

About 3-4 hours per module

Frequent breaks

Page 10: AIN102 Microsoft Access Queries

3

AIN102 Module 15 Admissions AIN102 Module 15

Module 1

Concepts– Relational

databases– SQL– Access Query

Designer

SELECT Query– Basic– Filter criteria– Complex criteria

• Field Operations• Functions

• Operators

• Calculated fields

• Concatenation

AIN102 Module 16 Admissions AIN102 Module 16

Microsoft Access Query Design

Course focus is Microsoft Access Query Design Queries are widely used for:

– Database administration– Enterprise application development– Data driven web sites– Retrieving and modifying data in MS Access databases

A foundation skill for eBusiness and almost all majorbusiness applications that use relational databases

Page 11: AIN102 Microsoft Access Queries

4

AIN102 Module 17 Admissions AIN102 Module 17

Access Query Design and SQL

Class database will be MS Access – the SQLengine Access uses is called JET

A basic knowledge of Access is assumed

Focus of this class will be on the querydesigner, with SQL used from time-to-time toexplain concepts

AIN102 Module 18 Admissions AIN102 Module 18

Relational Database Basics

Storage

Databases

Tables

Rows

Columns

Indexes

Views

SQL interface

Page 12: AIN102 Microsoft Access Queries

5

AIN102 Module 19 Admissions AIN102 Module 19

Storage

In Access one file with extension mdb. I.emydatabase.mdb.

Database splitter can be used to split it intotwo parts – a front end and a back end.

Interface to physical storage via the “JET”database engine. This is the behind-thescenes-workhorse.

AIN102 Module 110 Admissions AIN102 Module 110

Databases

In the Access world refers to all objectsstored in the mdb.– Tables

– Queries

– From

– Reports

– Macros

– Code modules

Page 13: AIN102 Microsoft Access Queries

6

AIN102 Module 111 Admissions AIN102 Module 111

Relational Database Table

AIN102 Module 112 Admissions AIN102 Module 112

Sample Access Database

Page 14: AIN102 Microsoft Access Queries

7

AIN102 Module 113 Admissions AIN102 Module 113

Database Relationships

AIN102 Module 114 Admissions AIN102 Module 114

Approaching Query Design

Try to build queries a step at a time

Save existing queries that are workingas you like; modify them with a newname when building a modified query

Try looking at the generated SQL codefrom time-to-time

Page 15: AIN102 Microsoft Access Queries

8

AIN102 Module 115 Admissions AIN102 Module 115

Query Types

Select Action

– Update– Delete– Insert– Maketable

Special use queries– Data Definition Language (DDL)– Union– SQL pass-through

AIN102 Module 116 Admissions AIN102 Module 116

DDL

Data definition language (DDL) to create andmodify tables, etc.

– Create, alter, drop, etc.

– Must be “hand-coded” in Access

– But can be useful for database administration

Done in MS Access via SQL Specific Queries– Will not be covered in the course

Page 16: AIN102 Microsoft Access Queries

9

AIN102 Module 117 Admissions AIN102 Module 117

MS Access DDL Queries

AIN102 Module 118 Admissions AIN102 Module 118

DCL

Data Control Language (DCL) to control userrights, etc.– Grant

– Revoke

– Constraints

Used primarily in enterprise databases

Can be done in Access but not covered inthis course

Page 17: AIN102 Microsoft Access Queries

10

AIN102 Module 119 Admissions AIN102 Module 119

DML

Data Manipulation Language (DML)– Select Query

– Append Query

– Update Query

– Delete Query

– Maketable Query (a special type of Select)

– Union Query (really combined Selects)

MS Access Query Designer will create thesestatements “behind the scenes”

AIN102 Module 120 Admissions AIN102 Module 120

MS Access Action Queries

Page 18: AIN102 Microsoft Access Queries

11

AIN102 Module 121 Admissions AIN102 Module 121

Other Access Queries

Crosstab

Pass Through – used to pass an SQLstatement directly to a back end databasew/out processing by Access

AIN102 Module 122 Admissions AIN102 Module 122

Sample Database

Before we continue…

Load the sample database if you haven’talready

Page 19: AIN102 Microsoft Access Queries

12

AIN102 Module 123

Query Designer

Admissions AIN102 Module 123

Right click anywherefor SQL View

Double click or dragto add a field

Double click to add atable

AIN102 Module 124 Admissions AIN102 Module 124

SELECT Queries

Basic Syntax:

Select column-list or *

From table-list

* Means all columns

Page 20: AIN102 Microsoft Access Queries

13

AIN102 Module 125 Admissions AIN102 Module 125

MS Access SELECT Query

Drag and Dropor double click

AIN102 Module 126 Admissions AIN102 Module 126

MS Access SELECT SQL

Page 21: AIN102 Microsoft Access Queries

14

AIN102 Module 127 Admissions AIN102 Module 127

Simple Select Query Results

AIN102 Module 128 Admissions AIN102 Module 128

SELECT w/ Where

Filters retrieved rows

Syntax:

SELECT column-list

FROM table-list

WHERE selection-criteria

Page 22: AIN102 Microsoft Access Queries

15

Admissions AIN102 Module 129

Comparison Operators

< less than

> greater than

<= less than or equal

>= greater than or equal

= equal

<> not equal

AIN102 Module 130 Admissions AIN102 Module 130

SELECT w/ WHERE

Page 23: AIN102 Microsoft Access Queries

16

AIN102 Module 131 Admissions AIN102 Module 131

SELECT w/ WHERE

AIN102 Module 132 Admissions AIN102 Module 132

SELECT w/ WHERE Results

Page 24: AIN102 Microsoft Access Queries

17

AIN102 Module 133 Admissions AIN102 Module 133

Complex Filters

Follows normal boolean logic

Select PatID, LastName, etc…

From patients

Where (LastName = “Thomas” orbirthdate < #1/1/95#) and city =“Corona”)

AIN102 Module 134 Admissions AIN102 Module 134

Complex Filter

AND

Page 25: AIN102 Microsoft Access Queries

18

AIN102 Module 135 Admissions AIN102 Module 135

Select w/ Complex Where

AIN102 Module 136 Admissions AIN102 Module 136

Complex Filter Results

Page 26: AIN102 Microsoft Access Queries

19

AIN102 Module 137 Admissions AIN102 Module 137

Special Operators

LIKE

IN

BETWEEN

IS NULL

AIN102 Module 138 Admissions AIN102 Module 138

Like (“Wild Card Matches”)

Where customer_last_name like “Jo*”– *= string of characters

Where customer_last_name like “Jo?”– ? = exactly one character

Access actually allows more sophisticated Unix stylesearch patterns as well – see help.

Page 27: AIN102 Microsoft Access Queries

20

AIN102 Module 139 Admissions AIN102 Module 139

LIKE

Names ending in “S”

AIN102 Module 140 Admissions AIN102 Module 140

LIKE

Names ending in “S”

Page 28: AIN102 Microsoft Access Queries

21

AIN102 Module 141 Admissions AIN102 Module 141

LIKE Results

AIN102 Module 142 Admissions AIN102 Module 142

IS NULL

Select columnnsFrom clientsWhere zip IS NULL

SQL (including JET) uses three valued logic.Must use IS NULL to test for unknowns. A null isNOT the same as blank or empty.

Page 29: AIN102 Microsoft Access Queries

22

AIN102 Module 143 Admissions AIN102 Module 143

IS NULL

AIN102 Module 144 Admissions AIN102 Module 144

IS NULL

Page 30: AIN102 Microsoft Access Queries

23

AIN102 Module 145 Admissions AIN102 Module 145

IS NULL Results

OK. Now try finding all patients with a blank address. Wasthe above row retrieved? Why or why not?

AIN102 Module 146 Admissions AIN102 Module 146

IN

Select *From patientsWhere lastname IN (“Smith”,“Thomas”, “Juarez”)

Note: what is inside parentheses is a list. Later wewill replace the list with a subquery whichgenerates the list items.

Page 31: AIN102 Microsoft Access Queries

24

AIN102 Module 147 Admissions AIN102 Module 147

IN

AIN102 Module 148 Admissions AIN102 Module 148

IN

List of values

Page 32: AIN102 Microsoft Access Queries

25

AIN102 Module 149 Admissions AIN102 Module 149

SELECT w/in IN Results

AIN102 Module 150 Admissions AIN102 Module 150

BETWEENSELECT *FROM admissionsWHERE admit_date BETWEEN#10/1/2001# and #12/31/2001#

Note: between is inclusive

Page 33: AIN102 Microsoft Access Queries

26

AIN102 Module 151 Admissions AIN102 Module 151

BETWEEN

AIN102 Module 152 Admissions AIN102 Module 152

BETWEEN Results

Page 34: AIN102 Microsoft Access Queries

27

AIN102 Module 153 Admissions AIN102 Module 153

Removing Duplicates

SELECT DISTINCT PatNoFROM admissions

List once each employee who has alabor ticket

Removes duplicate rows from result set

AIN102 Module 154 Admissions AIN102 Module 154

DISTINCT

Page 35: AIN102 Microsoft Access Queries

28

AIN102 Module 155 Admissions AIN102 Module 155

Distinct Results

W/out Distinct With Distinct

AIN102 Module 156 Admissions AIN102 Module 156

Sorting – ORDER BY

DESC will sort in descending order

Basic syntax:

SELECT column listFROM table listWHERE selection criteriaORDER BY column list [DESC]

Page 36: AIN102 Microsoft Access Queries

29

AIN102 Module 157 Admissions AIN102 Module 157

Sorting – ORDER BY

Select *From patientsWhere state in(“CA”, “OR”, “WA”)Order by birthdate desc

Example:List patients in Pacific Coast sortedby youngest to oldest

AIN102 Module 158 Admissions AIN102 Module 158

Sorting – ORDER BY

Note: modify the “select_in” query

Page 37: AIN102 Microsoft Access Queries

30

AIN102 Module 159 Admissions AIN102 Module 159

Sorting – ORDER BY

AIN102 Module 160 Admissions AIN102 Module 160

Sorting – Results

Page 38: AIN102 Microsoft Access Queries

31

AIN102 Module 161 Admissions AIN102 Module 161

Query/SQL Exercises

List all patient numbers, etc. for patients who co-paid more than $20; sort by co-pay amount,largest first

List diagnostics that contain b, d, or q in thediagnostic code

List the patient id’s for admissions in the fall (Sep,Oct, Nov) of 2001 and 2002

AIN102 Module 162 Admissions AIN102 Module 162

Calculated Fields

Example:Select a + b as result

Syntax:SELECT expression AS newcolumn name

Result is a “columnalias”

Page 39: AIN102 Microsoft Access Queries

32

AIN102 Module 163 Admissions AIN102 Module 163

Calculated Fields

New column name

Follow name with “:”

AIN102 Module 164 Admissions AIN102 Module 164

Calculated Fields

Page 40: AIN102 Microsoft Access Queries

33

AIN102 Module 165 Admissions AIN102 Module 165

Calculated Fields - Results

AIN102 Module 166 Admissions AIN102 Module 166

Concatenation

“Adds” two character fields using “&” symbol

Useful for formatting names, addresses, etc.

Example:

– Select firstname & “ “ & lastname as fullname

Page 41: AIN102 Microsoft Access Queries

34

AIN102 Module 167 Admissions AIN102 Module 167

Concatenation

Sort, but don’tshow

AIN102 Module 168 Admissions AIN102 Module 168

Concatenation

Page 42: AIN102 Microsoft Access Queries

35

AIN102 Module 169 Admissions AIN102 Module 169

ConcatenationSingle column with full

name, sorted by last name

Tip: handy for reports

AIN102 Module 170 Admissions AIN102 Module 170

SQL Exercises

List all the patients with a “fullname” field;sorted by last name. Add a calculated fieldwhich shows their loaded copay (copay *1.5).Show the fullname, but not the individualnames.

Page 43: AIN102 Microsoft Access Queries

36

AIN102 Module 171 Admissions AIN102 Module 171

End Session 1

Next session: multi-tableoperations, subqueries, unions,action queries, indexes

Page 44: AIN102 Microsoft Access Queries

1

Admissions AIN102 Module 21

AIN102

Access Query DesignModule 2

P.O. Box 6142Laguna Niguel, CA 92607949-489-1472http://www.d2associates.com

Admissions AIN102 Module 22

Module 2

Part 1– Miscellaneous Functions

Strings Dates

– Summaries (Grouping)

Part 2 – Joins,subqueries

– Inner join– Outer joins– Subqueries

Multi-valued Single-valued

• Part 3 – Unions,Action Queries,Indexes• Unions

• Maketable Query

• Delete

• Append

• Update

• Indexes

Page 45: AIN102 Microsoft Access Queries

2

Admissions AIN102 Module 23

String Manipulation

Trim

Substring

UCase, LCase

Left, Right

See help for others

Admissions AIN102 Module 24

String Manipulation

Page 46: AIN102 Microsoft Access Queries

3

Admissions AIN102 Module 25

String Manipulation

Admissions AIN102 Module 26

String Example

Page 47: AIN102 Microsoft Access Queries

4

Admissions AIN102 Module 27

Date Functions

Numerous date functions– DatePart– DateDiff– DateAdd– Etc.

Often used:– Year– Month

Ex: where year(birthdate) = 1999

Admissions AIN102 Module 28

DateDiff How long did patients stay in weeks?

Page 48: AIN102 Microsoft Access Queries

5

Admissions AIN102 Module 29

DateDiff results

Note: Access has many date functions with many options.

Admissions AIN102 Module 210

Ex: Date Function – Month()

Page 49: AIN102 Microsoft Access Queries

6

Admissions AIN102 Module 211

Ex: Date Function – Month()

Admissions AIN102 Module 212

Result of Month Function

Page 50: AIN102 Microsoft Access Queries

7

Admissions AIN102 Module 213

Summary Functions

Count

Sum

Min

Max

Avg

Often used in conjunctionwith grouping

Admissions AIN102 Module 214

Summary Functions in Access

Click the sum symbol

Adds a total row

Page 51: AIN102 Microsoft Access Queries

8

Admissions AIN102 Module 215

Summary Functions - SyntaxBasic syntax:

SELECT function(column)FROM tableWHERE filter-conditionGROUP BY column-listHAVING group-filter

Group by all columns to left of one(s)you to want aggregate

Admissions AIN102 Module 216

Simple Column Summaries

This query counts patient admissions In the year 2001

Page 52: AIN102 Microsoft Access Queries

9

Admissions AIN102 Module 217

Simple Column Summaries

Admissions AIN102 Module 218

Simple Record Count

Page 53: AIN102 Microsoft Access Queries

10

Admissions AIN102 Module 219

“The COUNTS”

Count(*) – counts records

Count(fieldname) – counts non–nulloccurrences of field name

Count (distinct fieldname) – counts distinctoccurrences, but not supported in access

Admissions AIN102 Module 220

Grouping

Organizes results into summary rows, one pergroup

Groups can have sub groups which have subgroups and so on….

Page 54: AIN102 Microsoft Access Queries

11

Admissions AIN102 Module 221

GROUP BY in Query Designer

Admissions AIN102 Module 222

GROUP BY Problem

Not an aggregateor group

You will see this error a lot. Not to worry. It happens to everyone!

Page 55: AIN102 Microsoft Access Queries

12

Admissions AIN102 Module 223

Group By Results

Admissions AIN102 Module 224

Having

Restricts the groups returned

Operates on the groups after they have beenformed

HAVING(((Admissions.Diag_Code)

Like "a*"))

Page 56: AIN102 Microsoft Access Queries

13

Admissions AIN102 Module 225

Having – SQL View

Restricts the groups returned

Operates on the groups after they have been formed

Admissions AIN102 Module 226

HAVING

Page 57: AIN102 Microsoft Access Queries

14

Admissions AIN102 Module 227

HAVING Results

Admissions AIN102 Module 228

AIN102

Access Query DesignPart 2 – Joins, Subqueries

Page 58: AIN102 Microsoft Access Queries

15

Admissions AIN102 Module 229

Database DesignDiagram of the database for reference in joins

Admissions AIN102 Module 230

Joins

Used to combine columns from morethan one table

Several types– Inner– Outer

Left Right

– Others (not covered) Full Outer (Not supported in Access) Cross Self Non equal

Page 59: AIN102 Microsoft Access Queries

16

Admissions AIN102 Module 231

Inner Join

Pairs each row from first table withcorresponding row from second table overthe “join column” or “linking column”

The result only contains rows where there isa match over the join column in both tables

The default join in most databases

Admissions AIN102 Module 232

Inner Join Syntax

Basic SQL 92 Syntax:

SELECT column-list

FROM table1 [AS alias]

INNER JOIN table2 [AS alias]

ON join-condition

Page 60: AIN102 Microsoft Access Queries

17

Admissions AIN102 Module 233

Table Aliases

Shorthand name for a table

Used in more complex queries

Select t.id, s.lnameFrom _traveler as tInner join xLU_Staff as sOn t.staffid = s.staffid

Table alias

Admissions AIN102 Module 234

Inner Join Basic SQL Example

Basic Example: Add patient names to

admissions data

Two join tables

Join condition

Page 61: AIN102 Microsoft Access Queries

18

Admissions AIN102 Module 235

Inner Join Query Design

Admissions AIN102 Module 236

Inner Join Results

Page 62: AIN102 Microsoft Access Queries

19

Admissions AIN102 Module 237

Inner Join over Multiple columns

Note that that the join condition can apply tomultiple columns if desired

Used with composite keysSelect ….From tablea as taInner join tableb as tbOn ta.key1 = tb.key1And ta.key2 = tb.key2

Admissions AIN102 Module 238

Joining More than Two Tables

Can join several tables in one select

Try to limit to three or four

Demonstration example

Page 63: AIN102 Microsoft Access Queries

20

Admissions AIN102 Module 239

3 Table Query Results

Admissions AIN102 Module 240

More on Aliases

Can be set in QueryDesigner, too, byright clicking on atable

Useful for debuggingtop level queries aswe shall see later

Page 64: AIN102 Microsoft Access Queries

21

Admissions AIN102 Module 241

Outer Joins

Left– selects all rows from the left or first table, even if no match

exists in the other table

– Widely used in commercial practice, esp. for reporting

Right– same idea but all rows from right table

Full

– all rows from both tables; not supported in Access

Admissions AIN102 Module 242

Left Outer Join

Basic SQL 92 Syntax:

SELECT column-list

FROM table1

LEFT JOIN table2

ON join-condition

Page 65: AIN102 Microsoft Access Queries

22

Admissions AIN102 Module 243

Left Outer Join(Right click on relationship to edit)

Admissions AIN102 Module 244

Left Outer Join

Modify your prior inner join touse a left join

Save as qryLeft_Admit

Now run both the inner andleft joins

What is the difference?

Page 66: AIN102 Microsoft Access Queries

23

Admissions AIN102 Module 245

Left Outer Join Results

Admissions AIN102 Module 246

Subqueries

One select statement embedded in another

Can be nested multiple levels deep

In Access query designer can be placed incriteria row or field row

Page 67: AIN102 Microsoft Access Queries

24

Admissions AIN102 Module 247

Multi-valued Subquery

A type of subquery that compares to a list Ex: find all diagnostic codes with no admissions Commonly encountered in commercial practice

Admissions AIN102 Module 248

Multi-valued Subquery

Place subquery in criteria row

Page 68: AIN102 Microsoft Access Queries

25

Admissions AIN102 Module 249

Multi-valued Subquery Result

No one was ever admitted with these diagnoses.

Admissions AIN102 Module 250

Single-valued Subquery

Subquery that returns a single value

Find all admissions with stays greater than the average stay

Page 69: AIN102 Microsoft Access Queries

26

Admissions AIN102 Module 251

Single-valued Subquery

Subquery that returns a single value

Admissions AIN102 Module 252

Single-valued Subquery Result

Page 70: AIN102 Microsoft Access Queries

27

Admissions AIN102 Module 253

Queries using Queries

Queries can be read just like a table

Some are updateable

Using a query as a source for another queryvery common in Access – especially forcomplicated queries

In a “back end” database such as Oracle orSQL Sever you would use a View

Admissions AIN102 Module 254

Queries using QueriesFilter the prior query ( a little on the complicated side)for the year 2001

Page 71: AIN102 Microsoft Access Queries

28

Admissions AIN102 Module 255

Queries using Queries Result

Admissions AIN102 Module 256

AIN102

Access Query Design

Part 3 – Unions, Action Queries

D. H. D’Urso and Associates949-489-1472http://www.dhdursoassociates.com

Page 72: AIN102 Microsoft Access Queries

29

Admissions AIN102 Module 257

Special Queries

Most are “Action Queries”

Reached through Query pull-down menu

Admissions AIN102 Module 258

Special Queries

Special action queries have distinct symbols

Page 73: AIN102 Microsoft Access Queries

30

Admissions AIN102 Module 259

Admissions Database

Diagram of the database for reference in part 3

Admissions AIN102 Module 260

Data Modification Queries

SQL Action Query

INSERT Append

UPDATE Update

DELETE Delete

SELECT…INTO Maketable

Page 74: AIN102 Microsoft Access Queries

31

Admissions AIN102 Module 261

Creating Action Queries

First set up the select query based on thetable you are selecting from

Test select query

Then convert to action query

When you run an action query there is noresult displayed – must look at theaffected table to see the result

Admissions AIN102 Module 262

Select Into…Maketable

Creates a new table “on the fly”

Page 75: AIN102 Microsoft Access Queries

32

Admissions AIN102 Module 263

Select Into…Maketable

New table

Existing table

Make Table

Admissions AIN102 Module 264

Archived Labor History

Page 76: AIN102 Microsoft Access Queries

33

Admissions AIN102 Module 265

Delete SQL

Deletes one or more rows

Basic Syntax:

DELETE FROM table-name

WHERE filter-criteria

Admissions AIN102 Module 266

Delete

Example:Delete allarchivedrecordsnewer than12/31/2001

Page 77: AIN102 Microsoft Access Queries

34

Admissions AIN102 Module 267

Delete SQL

Example: Delete all archivedadmissions_history newer than 12/31/01

Admissions AIN102 Module 268

Archive after DELETE

Page 78: AIN102 Microsoft Access Queries

35

Admissions AIN102 Module 269

More complex DELETE with FROMclause

Can delete based on matchingrecords in other tables

Uses from for criteria instead ofwhere – uses the matched rows asan implicit filter condition

Covered in advanced class

Admissions AIN102 Module 270

Append Query (SQL Insert)

Adds new rows to an existing table

Two forms:

– Single Row

– Multi-Row

Page 79: AIN102 Microsoft Access Queries

36

Admissions AIN102 Module 271

Single Row Insert

Basic Syntax:

Insert [into] table-name

Values (value-list)

Admissions AIN102 Module 272

Single Row Insert

Basic Example:

INSERT into xLU_BuildStyle

values(6, “Thick”)

Not really used this way in MS Access. Typical MSAccess use would be Insert…Select as shown infollowing slides.

Page 80: AIN102 Microsoft Access Queries

37

Admissions AIN102 Module 273

Append Query (Multi-row insert)

Admissions AIN102 Module 274

Multi-row Insert SQL

Basic Syntax:

INSERT [INTO] table-name

SELECT select-statement

Page 81: AIN102 Microsoft Access Queries

38

Admissions AIN102 Module 275

Multi-row Insert (Append)

Add back archived admissions_historynewer than 12/31/01

Admissions AIN102 Module 276

Append (Insert) Results

Page 82: AIN102 Microsoft Access Queries

39

Admissions AIN102 Module 277

Update

Updates fields in an existing row

Basic Syntax:

UPDATE table-name

SET field1 = new value, field2 = new value,…

WHERE selection-criteria

Admissions AIN102 Module 278

Update in Query Designer

New value

Page 83: AIN102 Microsoft Access Queries

40

Admissions AIN102 Module 279

Update

Increase the admission_history copays by 10%(unrealistic to change history but we don’t want to step on ourgood tables)

Admissions AIN102 Module 280

Update Results

New values

Remember: you have to look at the affected table.No “result” is displayed.

Page 84: AIN102 Microsoft Access Queries

41

Admissions AIN102 Module 281

Unions

Combines the results of two queries– Ex: current records and history

Tables must be union compatible (at least in theory!) There is no designer in Access; must be done in SQL view

Admissions AIN102 Module 282

Union Syntax

SELECT column-list

FROM table1

UNION [ALL]

SELECT same-columns

FROM table2

Page 85: AIN102 Microsoft Access Queries

42

Admissions AIN102 Module 283

Union Example

Admissions AIN102 Module 284

Union Result

Page 86: AIN102 Microsoft Access Queries

43

Admissions AIN102 Module 285

End Session 2

End of Class!

Notes

Admissions AIN102 Module 286

Page 87: AIN102 Microsoft Access Queries

44

Notes

Admissions AIN102 Module 287

Notes

Admissions AIN102 Module 288

Page 88: AIN102 Microsoft Access Queries

Accelerated Computer Training for Working Professionals

Orange Coast Database Associates Course (800)355-9855 or http://ocdatabases.itgo.com

Orange CoastDatabase Associates

Specializing in Microsoft Office,

Access, SQL, and related technologiesComputer Training, Programming & Consulting

32422 Alipaz St., Suite A-15

San Juan Capistrano, CA

(800)355-9855 (Toll Free) | (949)489-1472 (Direct) | (949)485-6284 (Fax)

http://www.dhdursoassociates.com | [email protected]

Accelerated Computer Training