BÀI GIẢNG CƠ SỞ DỮ LIỆU

III: Query Chương III: Query Chương

CHƯƠNG III: QUERY CHƯƠNG III: QUERY

dùng đểđể lựalựa chọn

được dùng

chọn cáccác bảnbản ghighi

chất DùngDùng đểđể trảtrả lờilời cáccác câucâu hỏihỏi cócó tínhtính chất thời.. tứctức thời -- BộBộ hỏihỏi được sung (record), cậpcập nhậtnhật cáccác bảngbảng vàvà bổbổ sung (record), cáccác bảnbản ghighi mớimới vàovào bảngbảng..

nguồn dữdữ liệuliệu chocho cáccác biểubiểu

-- DùngDùng làmlàm nguồn mẫumẫu, , báobáo cáocáo..

CSDL. -- TạoTạo lậplập, , cậpcập nhậtnhật CSDL.

query. I.I. KháiKhái niệmniệm query.

query CáchCách mởmở cửacửa sổsổ query

 TừTừ cửacửa sổsổ Database

Database chọn Queries chọn Queries

 ChọnChọn vàovào dòng

dòng: :

II. II. CácCác loại -- TruyTruy vấnvấn chọn

Query. loại Query. chọn (Select Query):

(Select Query): ThựcThực hiệnhiện việcviệc tìmtìm

kiếmkiếm ((kểkể cảcả tínhtính toántoán).).

Crosstab: ThựcThực hiệnhiện thống

CSDL. thống kêkê trêntrên CSDL.

-- TruyTruy vấnvấn Crosstab: -- TruyTruy vấnvấn hànhhành động

động (Action Query): Cho

nhậtnhật CSDL

CSDL gồmgồm bổbổ sung,

(Action Query): Cho phépphép cậpcập loại bỏbỏ hay hay thaythay đổiđổi.. sung, loại

nghĩa dữdữ liệuliệu, , truytruy vấnvấn hợphợp..

-- TruyTruy vấnvấn địnhđịnh nghĩa -- TruyTruy vấnvấn Pass Through:

CSDL SQL server) trêntrên server

CSDL qua SQL tớitới CSDL qua server đểđể

Pass Through: GửiGửi lệnhlệnh SQL ODBC (víví dụdụ nhưnhư CSDL SQL server) ODBC ( thaothao táctác dữdữ liệuliệu trêntrên đóđó..

thức, , toántoán tửtử vàvà hàmhàm..

III. CácCác hằnghằng, , biếnbiến, , biểubiểu thức III. 3.1. HằngHằng.. 3.1. -- LàLà đạiđại lượng không đổiđổi trong lượng không trong quáquá trình trình tínhtính

chuỗi: : chuỗi

được đặtđặt trong

trong dấudấu

(“0001”, “CT2424”, “Hello”). nháynháy képkép (“0001”, “CT2424”, “Hello”). -- HằngHằng ngàyngày: : dữdữ liệuliệu kiểukiểu ngàyngày đặtđặt trong

trong cặpcặp dấudấu # #

(#20/07/2007#). (#20/07/2007#).

-- HằngHằng đặtđặt biệtbiệt: Null, True, False,

Yes,No.. : Null, True, False, Yes,No

toántoán baobao gồmgồm:: (500, 400). -- HằngHằng sốsố: : gồmgồm cáccác sốsố (500, 400). chuỗi kýký tựtự được -- HằngHằng kýký tựtự, , chuỗi

3.2. BiếnBiến.. 3.2. -- ĐượcĐược xácxác địnhđịnh thông thông qua qua têntên biếnbiến, , kiểukiểu dữdữ liệuliệu

vàvà đặtđặt trong -- BiếnBiến trường trong dấudấu [ ] [ ] gồmgồm:: trường: : biếnbiến cócó têntên giống giống nhưnhư têntên

trường. . trường viếtviết theotheo cúcú pháppháp: :

trường, , giágiá trịtrị củacủa biếnbiến làlà giágiá trịtrị củacủa trường trường HaiHai Table Table cócó cùng [Table]![têntên biếnbiến trường [Table]![ cùng trường trường].].

-- BiếnBiến thamtham sốsố: : têntên biếnbiến không giống bấtbất cứcứ

trường nàonào, , giágiá trịtrị được không giống được nhậpnhập từtừ bànbàn

têntên trường phímphím..

3.3. thức.. 3.3. BiểuBiểu thức -- LàLà tậptập hợphợp cáccác toántoán tửtử vàvà toántoán hạnhạn cócó haihai dạngdạng::

-- BiểuBiểu thức thức logic: logic: trảtrả vềvề True/False

được True/False được Criteria. dòng Criteria.

dùng làmlàm điềuđiều kiệnkiện trong dùng thức tínhtính toántoán được -- BiểuBiểu thức

trong dòng được: : tínhtính toántoán giágiá trịtrị trường đãđã cócó.. chocho mộtmột trường trường mớimới từtừ cáccác trường

3.4. Toán tử số học.

Toán tử

Mô tả

Ví dụ

Cộng hai toán hạng

[lương]+[phụ cấp]

+

Trừ hai toán hạng

Date-30

-

-(tt đơn) Thay đổi dấu

-12345

Nhân hai toán hạng

[hệ số]*[lương cbản]

*

Chia 1 t/h với 1 t/h khác 15.2/12.55

/

Chia 1 sn với 1 sn khác. 5\2

\

Mod Trả về số dư phép chia

5 Mod 2

với một sn.

4^3

^

Nâng lũy thừa một toán hạng (số mũ)

3.5. Toán tử logic. 3.5. Toán tử logic.

Toán tử Cú pháp And

Ví dụ (2<3)And(5<>7)

(2<3)Or(5<>7)

Or

Not

Bt1 And Bt2 True nếu cả hai là True Bt1 Or Bt2 False nếu cả hai False Not Bt False nếu Bt True

Not(2<3)And(5<> 7): True

Xor

True Xor False=True

Bt1 Xor Bt2 True nếu Bt1, Bt2 có giá trị khác nhau

dụng.. thông dụng

thức]”, “ ]”, “phạmphạm vi”, vi”,

3.5. 3.5. CácCác hàmhàm thông -- CácCác hàmhàm xữxữ lýlý cơcơ sởsở dữdữ liệuliệu.. CúCú pháppháp: <: (“[>(“[biểubiểu thức ““điềuđiều kiệnkiện”).”).

: 1 trường

+ + TênTên hàmhàm: : têntên hàmhàm CSDL. CSDL. trường, , bảngbảng, , điềuđiều thức: 1 + + BiểuBiểu thức khiển, , hằnghằng chàmchàm…… khiển ++PhạmPhạm vi: vi: têntên bảngbảng, , truytruy vấnvấn hoặchoặc câucâu SQL. SQL. + + ĐiềuĐiều kiệnkiện: : giớigiới hạnhạn phạmphạm vi vi dữdữ liệuliệu..

IIFIIF

(đk,bt1,bt2).  CấuCấu trúctrúc: : iifiif(đk,bt1,bt2).  NếuNếu đkđk đúng đúng thực thực hiệnhiện bt1, bt1, đkđk saisai thực thực hiệnhiện

bt2.bt2.

nhiều hàmhàm iifiif vớivới nhaunhau::

 CóCó thểthể lồng  VíVí dụdụ: : [luong]*( IIf([MA]="C",4/100,0)))))))) ((IIf([MA]="C",4/100,0

lồng nhiều [luong]*(IIf([MA]="A" 7/100,, IIf([MA]="A",,7/100

DavgDavg

 TínhTính giágiá trịtrị trung

trung bìnhbình củacủa mộtmột trường trường theotheo

trước.. điềuđiều kiệnkiện chocho trước  VíVí dụdụ: : tínhtính điểmđiểm trung trung bìnhbình thithi lầnlần 1 1 củacủa sinhsinh

dangky”, ”,

 TínhTính điểmđiểm trung

SV001. viênviên SV001. ==DavgDavg(“[ketqua1]”, “ (“[ketqua1]”, “dangky ]=‘SV001’”) “[“[MssvMssv]=‘SV001’”)

trung bìnhbình lầnlần 1 1 củacủa tấttất cảcả SVSV

==DavgDavg(“[ketqua1]”, “ (“[ketqua1]”, “dangky dangky”)”)

tin trong

Dcount Dcount trong 1 1 bảngbảng theotheo ĐK ĐK chocho tin cócó giágiá trịtrị

 ĐếmĐếm sốsố mẫumẫu tin trước vàvà không trước Null.Null.

không đếmđếm cáccác mẫumẫu tin

trong bảngbảng đăngđăng kýký.. tin trong

==Dcount Dcount(“*”, “ dangky”).”).

 VíVí dụdụ: : đếmđếm sốsố mẫumẫu tin (“*”, “dangky  ĐếmĐếm sốsố mônmôn họchọc màmà SV sv001 (“*”, “dangky

SV sv001 đăngđăng kýký..

Dcount(“*”, “ dangky”, “[ ==Dcount ]=‘sv001’”). ”, “[mssvmssv]=‘sv001’”).

Dlookup Dlookup

 TìmTìm giágiá trịtrị củacủa mộtmột trường

trường theotheo điềuđiều kiệnkiện chocho

 VíVí dụdụ: : tìmtìm kiếmkiếm kếtkết quảquả lầnlần 1 1 củacủa mônmôn họchọc

trước.. trước

MH001. MH001.  ==Dlookup Dlookup(“[ketqua1]”, “ (“[ketqua1]”, “dangky dangky”, ”,

]=‘MH001’”). “[“[msmhmsmh]=‘MH001’”).

Dmin, Dmax, Dsum Dmin, Dmax, Dsum

 TìmTìm giágiá trịtrị nhỏnhỏ nhấtnhất, , lớnlớn nhấtnhất, , tínhtính tổng

tổng củacủa

trước.. trường theotheo điềuđiều kiệnkiện chocho trước

trong trường trường hợphợp điềuđiều kiệnkiện chocho mộtmột trường ChúChú ý:ý:trong

khiển được lấylấy từtừ cáccác điềuđiều khiển

==DLookUp

("[ketqua1]",“dangky

dangky","[","[msmmsm

DLookUp("[ketqua1]",“ ]= ‘ " & [Combo0].[Value] & “ ‘ ") hh]= ‘ " & [Combo0].[Value] & “ ‘ ")

trước làlà mộtmột giágiá trịtrị được trước tata làmlàm nhưnhư sausau::

Một số hàm khác Một số hàm khác

 MỗiMỗi người

người tìmtìm 50 50 hàmhàm..

IV. Select Queries. IV. Select Queries.

query. 4.1. TạoTạo query. 4.1. BướcBước 11: : TừTừ cửacửa sổsổ DataBase DataBase củacủa Access chọn Access chọn

-- HoặcHoặc từtừ cửacửa sổsổ Database,

Query/New/Design View/Ok. Query/New/Design View/Ok.

Database, trong Object trong mụcmục Object

chọn Query chọn -- NếuNếu Query > Create Query in Design View. Query --> Create Query in Design View. Query mớimới tạotạo thìthì cửacửa sổsổ ShowTable ShowTable tựtự

chọn vàovào nútnút đểđể

động mởmở, , nếunếu không động không tata chọn ShowTable.. hiểnhiển thịthị cửacửa sổsổ ShowTable

Chọn các Table cần thiết

Thêm vào cửa sổ

 ChúChú ý: ý: mỗimỗi Query

Query cócó::

thước tốitối đađa củacủa bảngbảng dữdữ liệuliệu try

try vấnvấn tạotạo rara làlà

–– TốiTối đađa 32 32 bảngbảng thamtham giagia.. trường.. 255 trường –– TốiTối đađa 255 –– KíchKích thước 1 Gigabyte. 1 Gigabyte.

dùng làmlàm khóa

khóa sắpsắp xếpxếp tốitối đađa làlà 10.10.

trường dùng –– SốSố trường –– SốSố truytruy vấnvấn lồng –– SốSố kýký tựtự tốitối đađa trong –– SốSố kýký tựtự tốitối đađa trong –– SốSố kýký tựtự tốitối đađa trong

lồng nhaunhau tốitối đađa làlà 50.50. lưới làlà 1024. trong ô ô củacủa vùng vùng lưới 1024. 64000. SQL làlà 64000. dòng lệnhlệnh SQL trong dòng 255. trong thamtham sốsố làlà 255.

Query (tttt).).

4.1. 4.1. TạoTạo Query ( Bước2: : TừTừ cửacửa sổsổ Show Table Bước2 Show Table chọn chọn cáccác bảngbảng dữdữ

bảng ((hoặchoặc têntên truy truy vấnvấn) )

liệuliệu hoặchoặc cáccác truytruy vấnvấn liênliên quanquan đếnđến câucâu hỏihỏi, , bằngbằng cáchcách ChọnChọn têntên bảng > Add.. --> Add

khoa -- VíVí dụdụ câucâu hỏihỏi liênliên quanquan đếnđến sinhsinh viênviên vàvà khoa

tata cócó cửacửa sổsổ..

 FieldField:: CácCác trường

trường liênliên quanquan đếnđến truytruy vấnvấn. . CóCó

dạng <

thức>> chứa trường chọn.. được lựalựa chọn trường được

thểthể xuấtxuất hiệnhiện ở ở kếtkết quảquả hoặchoặc điềuđiều kiệnkiện tìmtìm kiếmkiếm. . Trường kếtkết xuất  Trường xuất>:<>:

 ShowShow:: Trường

giảmgiảm..

Trường xuấtxuất hiệnhiện ở ở kếtkết quảquả hiệnhiện hoặchoặc

ẩnẩn..

 Criteria

chọn cócó dạngdạng: : <

thao táctác dữdữ liệuliệu><>> <

thức trêntrên cócó thểthể viếtviết trêntrên mộtmột dòng dòng sẽsẽ

thành điềuđiều kiệnkiện andand..

Criteria:: ĐiềuĐiều kiệnkiện chọn quanquan hệhệ><>> thức HaiHai biểubiểu thức tổtổ hợphợp thành Or:Or: TìmTìm kiếmkiếm theotheo điềuđiều kiệnkiện OrOr. . CóCó thểthể thêmthêm dòng.. dòng

Ví dụVí dụ

BướcBước 33: : LựaLựa chọn chọn cáccác trường trong trường cầncần hiểnhiển thịthị trong

kếtkết quảquả củacủa truytruy vấnvấn hoặchoặc liênliên quanquan đếnđến cáccác điềuđiều kiệnkiện tìmtìm kiếmkiếm. . SauSau đóđó, , soạnsoạn thảothảo cáccác điềuđiều Criteria.. trong phầnphần Criteria kiệnkiện tìmtìm kiếmkiếm trong

BướcBước 4:4: ThựcThực hiệnhiện truytruy vấnvấn bằngbằng mộtmột trong trong haihai

cáchcách sausau::

CáchCách 1: 1: ChọnChọn biểubiểu tượng thanh tượng !! trêntrên thanh

công cụcụ.. công

chọn thanh menu menu chọn

CáchCách 2: 2: TrênTrên thanh QueryQuery\\RunRun..

 BướcBước 5:5: GhiGhi lạilại kếtkết quảquả truytruy vấnvấn ((nếunếu muốnmuốn) )

bằngbằng cáchcách::

CáchCách 1: 1: ChọnChọn biểubiểu tượng tượng đĩađĩa mềmmềm trêntrên

thanh công thanh công cụcụ..

chọn thanh menu menu chọn

CáchCách 2: 2: TrênTrên thanh FileFile\\SaveSave..

•Ví dụ tìm những sinh viên học trong khoa có tên “ANH_VAN” hoặc “TU_NHIEN”

Kết quả Kết quả

4.2. mộtmột sốsố thaothao táctác cơcơ bảnbản vớivới cáccác trường 4.2. trong trường trong

Query. Query.

trường mớimới..

trường.. -- ThayThay đổiđổi thứthứ tựtự, , thêmthêm xóaxóa cáccác trường -- ĐổiĐổi têntên tiêutiêu đềđề cộtcột, , tạotạo trường 4.3. địnhđịnh thứthứ tựtự sắpsắp xếpxếp.. 4.3. -- SắpSắp xếpxếp nhanh nhanh dùng thanh dùng cáccác nútnút lệnhlệnh trêntrên thanh

-- TạoTạo sắpsắp xếpxếp sẳnsẳn: click

công cụcụ.. công

: click vàovào ô sort chọn ô sort vàvà chọn

hướng sứpsứp xếpxếp.. hướng

thức dạngdạng hằnghằng.. chuỗi nhậpnhập bìnhbình thường thường không không phânphân biệtbiệt

-- DạngDạng sốsố, , tiềntiền tệtệ, , tựtự động

thức.. 4.4. CáchCách lậplập biểubiểu thức 4.4. 4.4.1. biểubiểu thức 4.4.1. -- HằngHằng chuỗi thường.. hoahoa thường

động không không được được đưađưa kýký

hiệuhiệu đạiđại diệndiện vàovào..

quanh.. -- DạngDạng ngàyngày cócó haihai dấudấu # # baobao quanh

dùng trong

thức.. trong biểubiểu thức

được dùng

(Text/ dụng cáccác kýký tựtự đạiđại diệndiện (Text/

4.4.2. cáccác phépphép toántoán được 4.4.2. -- ToánToán tửtử toántoán họchọc.. logic. -- ToánToán tửtử logic. Like: muốnmuốn sửsử dụng -- ToánToán tửtử Like: Date/Time) Date/Time)

Ký hiệu

Ý nghĩa

Thay thế một số ký tự bất kỳ

*

? Hoặc#

Thay thế một ký tự tại vị trí xuất hiện

Thay thế các ký tự nằm trong ngoặc

[ ]

Thay thế các ký tự khác ký tự sau !

!

Từ ký tự đến ký tự.

-

VíVí dụdụ

 TìmTìm những

Kết quả

những nhânnhân viênviên cócó mãmã kýký tựtự đầuđầu tiêntiên bấtbất A,B,C,D. kỳkỳ, , kýký tựtự thứthứ 2 2 kháckhác A,B,C,D.

TìmTìm những

những nhânnhân viênviên sinhsinh vàovào quýquý 11

 TìmTìm những  TìmTìm những  LiệtLiệt kêkê cáccác nhânnhân viênviên cócó trong

tháng 12…12…

những nhânnhân viênviên sinhsinh vàovào tháng nguyễn.. những nhânnhân viênviên cócó họhọ nguyễn trong phòng phòng tàitài vụvụ……

4.5. Total Queries. 4.5. Total Queries. -- TạoTạo mộtmột truytruy vấnvấn mớimới -- Chuyển chọn thông thông thường

sang thường sang tượng chọn biểubiểu tượng

thanh công trêntrên thanh

Chuyển từtừ truytruy vấnvấn chọn truytruy vấnvấn tínhtính toántoán bằngbằng cáchcách chọn totals totals menu menu chọn thanh công cụcụ hoặchoặc trêntrên thanh > Totals.. chọn View View --> Totals

Total củacủa mỗimỗi cộtcột cócó những những lựalựa

Group by: : DùngDùng đểđể chỉchỉ rara trường trường nàonào làlà

Trong mụcmục Total  Trong chọn sausau:: chọn -- Group by trường phânphân nhómnhóm.. trường tổng.. SumSum: : TínhTính tổng -- trung bìnhbình.. AvgAvg: : TínhTính trung -- -- MinMin: : TìmTìm giágiá trịtrị nhỏnhỏ nhấtnhất.. -- MaxMax: : TìmTìm giágiá trịtrị lớnlớn nhấtnhất.. Count: : ĐếmĐếm.. -- Count chuẩn.. StDev: : TìmTìm độđộ lệchlệch chuẩn StDev --

phương saisai..

VarVar: : TìmTìm phương FirstFirst: : TìmTìm bảnbản ghighi đầuđầu tiêntiên.. cùng.. cuối cùng LastLast: : TìmTìm bảnbản ghighi cuối thức trong Expression: : MộtMột biểubiểu thức Expression trong tínhtính toántoán, ,

-- -- -- -- điđi kèmkèm vớivới mộtmột tínhtính toántoán bằngbằng hàmhàm thưthư việnviện kháckhác.. -- WhereWhere: : ĐiềuĐiều kiệnkiện lọclọc cáccác bảnbản ghighi thamtham giagia vàovào tínhtính toántoán..

Ví dụVí dụ

 TínhTính tổng

tổng sốsố nhânnhân viênviên củacủa từng từng đơnđơn vịvị..

TínhTính tổng

tổng sốsố nữnữ củacủa

tổng sốsố namnam vàvà tổng từng đơnđơn vịvị từng

từng  TìmTìm hệhệ sốsố lớnlớn nhấtnhất vàvà hshs nhỏnhỏ nhấtnhất củacủa từng

 TìmTìm hshs trung

đơnđơn vịvị..

trung bìnhbình củacủa từng từng đvđv..

TínhTính tổng

tổng sốsố tínhtính

tổng sốsố mônmôn họchọc vàvà tổng chỉchỉ củacủa mônmôn họchọc đóđó..

Filed

Tongsomon: msmh

Tongsotc: sotc

Table

Monhoc

Monhoc

Total

Count

sum

tin. từng nhómnhóm mẫumẫu tin.

tổng trêntrên từng

thiết vàovào truytruy vấnvấn.. thiết vàovào vùng

lưới.. vùng lưới

trường cầncần thiết

4.5.2. TínhTính tổng 4.5.2. -- TạoTạo truytruy vấnvấn mớimới.. -- ĐưaĐưa cáccác bảngbảng cầncần thiết -- ĐưaĐưa cáccác trường Total. -- ChọnChọn Total. ô Total: Trong ô Total: -- Trong -- ChọnChọn groupBy

groupBy chocho trường

trường làmlàm khóa

khóa chính

chính đểđể

nhómnhóm..

trường còncòn lạilại..

-- ChọnChọn phépphép tínhtính tổng Chuyển angang Datasheet View

tổng chocho cáccác trường Datasheet View đểđể xemxem kếtkết quảquả..

-- Chuyển

Ví dụVí dụ

 TínhTính tổng

tổng sốsố giáogiáo viênviên củacủa từng khoa.. từng khoa

Filed

Khoa: tenkhoa

Sogiaovien:msgv

Table

Khoa

Giaovien

Total

Group by

count

tin. nhiều nhómnhóm mẫumẫu tin.

trường.. nhiều trường

4.5.3. TínhTính tổng 4.5.3. -- ChọnChọn Group By -- ƯuƯu tiêntiên từtừ trái -- VíVí dụdụ: : tínhtính tổng tổng trêntrên nhiều Group By trêntrên nhiều trái qua qua phảiphải.. tổng sốsố svsv củacủa từng từng từng lớplớp theotheo từng

khoa.. khoa

Filed

Tenkhoa

tenlop

Sosinhvien:mssv

Table

Khoa

lop

sinhvien

Total

Group by

Group by

count

ĐặtĐặt điềuđiều kiệnkiện chocho cáccác trường

trường sausau

khikhi tínhtính tổngtổng

 TìmTìm những

người cócó

những người đăngđăng kýký 3 3 mônmôn họchọc trởtrở lênlên..

Filed

Mssv

Hotensv

Tongsomon:msmh

Table

Sinhvien

Sinhvien

Dangky

Total

Group by

Group by

count

Criterial

>=3

những mẫumẫu

4.5.4. LậpLập biểubiểu thức 4.5.4. tin trước tin chọn giớigiới hạnhạn những thức chọn tổng.. trước khikhi tínhtính tổng

trường vàovào vùng lưới.. vùng lưới

-- TạoTạo truytruy vấnvấn.. -- ĐưaĐưa cáccác bảngbảng vàovào truytruy vấnvấn.. -- ĐưaĐưa cáccác trường Total -- ChọnChọn Total Thiết lậplập ô Total -- Thiết muốnmuốn đặtđặt biểubiểu thức

ô Total thành trường thành Where Where đốiđối vớivới trường

-- GõGõ biểubiểu thức

thức giớigiới hạnhạn.. ô Criteria thức tạitại ô Criteria

Ví dụ: Ví dụ:

 LiệtLiệt kêkê svsv đăngđăng kýký 3 3 mônmôn trởtrở lênlên trong

trong niênniên

khóa 2003 khóa 2004. 2003--2004.

Filed

Mssv

Hotensv

Tong:msmh

nienkhoa

Table

Sinhvien

Sinhvien

Dangky

dangky

Total

Group by

Group by

count

Where

Criterial

>=3

“2003-2004”

 ChúChú ý: ý:

không thểthể hiểnhiển –– Trường

trường hợphợp đặtđặt điềuđiều kiệnkiện lọclọc tổng sẽsẽ chocho kếtkết quảquả

chọn Where Where thìthì không Trường cócó chọn được.. thịthị kếtkết quảquả được Trong đađa sốsố trường –– Trong trước vàvà sausau khikhi tínhtính tổng trước kháckhác nhaunhau..

VíVí dụdụ: : tìmtìm điểmđiểm trung “001” trung bìnhbình củacủa SV SV cócó mãmã sốsố “001”

Điếm số sinh viên nữ trong lớp. Điếm số sinh viên nữ trong lớp.

 Cho Cho phépphép thực

(Parameter Queries) 4.6. TruyTruy vấnvấn thamtham sốsố(Parameter Queries) 4.6.

thực hiệnhiện mộtmột truytruy vấnvấn nhiều

nhiều lầnlần chuẩn thực hiệnhiện vớivới mộtmột tiêutiêu chuẩn

nhưng mỗimỗi lầnlần thực nhưng chọn kháckhác nhaunhau.. lựalựa chọn

thiết vàovào truytruy vấnvấn.. thiết vàovào vùng trường cầncần thiết

-- TạoTạo truytruy vấnvấn mớimới.. -- ĐưaĐưa cáccác bảngbảng cầncần thiết -- ĐưaĐưa cáccác trường -- TạiTại ô Field thamtham sốsố..

ô Field –– Criteria lưới.. vùng lưới chứa thức cócó chứa Criteria gõgõ vàovào biểubiểu thức

LưuLưu ý:ý: ngoặc -- TênTên thamtham sốsố nằmnằm giữagiữa haihai dấudấu ngoặc

vuông.. vuông

chuỗi nhắcnhắc nhởnhở: : têntên

-- TênTên thamtham sốsố cũng thamtham sốsố cócó khoảng 255 kýký tựtự.. 255

cũng chính khoảng trắng chính làlà chuỗi trắng chiều chiều dàidài không không quáquá

TìmTìm những những sinhsinh viênviên thuộc thuộc khoa “AV” khoa “AV”

 KhiKhi Run Run tata thấythấy xuấtxuất hiệnhiện bảngbảng::

Những SV SV cócó điểmđiểm >7 >7 được Những được 10 10 điểmđiểm

 KhiKhi RunRun

 KếtKết quảquả

Liệt kê thông tin về năm sinh của sv  Liệt kê thông tin về năm sinh của sv với năm sinh nhập từ bàn phím. với năm sinh nhập từ bàn phím. ngaysinh

Hotensv

Mssv

phai

Filed

Table

Sinhvien

Sinhvien

Sinhvien

Sinhvien

Criterial

Namsinh=year([n gaysinh])

 TìmTìm những

những sinhsinh viênviên sinhsinh namnam n1 n1 cócó đăngđăng kýký

m2 m2 mônmôn họchọc trởtrở lênlên..

Filed

Mssv

Hotensv

phai

msmh

ngaysinh

Table

Sinhvien

Sinhvien

Sinhvien

Dangky

Sinhvien

Total

Group by

Group by

Group by

Count

Group by

Criterial

>=[somon]

Namsinh= year([ngay sinh])

 LiệtLiệt kêkê sốsố nhânnhân viênviên trong

trong từng từng đơnđơn vịvị, , mãmã đvđv

nhậpnhập từtừ bànbàn phímphím

những người

công táctác

người cócó sốsố nămnăm công TìmTìm những lớnlớn hơnhơn mộtmột sốsố nhậpnhập từtừ bànbàn phímphím

 TìmTìm cáccác nhânnhân viênviên cócó mãmã nvnv bắtbắt đầuđầu bằngbằng kýký

tựtự nhậpnhập vàovào từtừ bànbàn phímphím

 SinhSinh viênviên thithi mônmôn m1 m1 cócó sốsố điểmđiểm từtừ d1 d1 đếnđến d2 d2

tin vềvề mônmôn m1 do m1 do giáogiáo viênviên thuộc khoa thuộc khoa

điểmđiểm.. Thông tin  Thông KTCN dạydạy.. KTCN  LiệtLiệt kêkê thông thông tin tin vềvề cáccác sinhsinh viênviên thuộc khoa thuộc khoa

K1, K1, họchọc mônmôn họchọc M2, M2, vớivới sốsố điểmđiểm lớnlớn nhấtnhất củacủa haihai lầnlần thithi từtừ D3 D3 trởtrở lênlên..

nhiều  ChúChú ý: ý: tata cócó thểthể tạotạo truytruy vấnvấn thamtham sốsố vớivới nhiều

 NộiNội dung

chọn.. điềuđiều kiệnkiện chọn

dung cáccác thamtham sốsố nhậpnhập vàovào chỉchỉ cócó thểthể làlà

hằnghằng, , không thức.. không thểthể làlà biểubiểu thức

từng  BạnBạn cócó thểthể quyquy địnhđịnh kiểukiểu dữdữ liệuliệu chocho từng chọn QueryQuery-- trong Design View Design View chọn

 VíVí dụdụ: : tìmtìm nhânnhân viênviên cócó nămnăm sinhsinh vàvà kýký tựtự đầuđầu

thamtham sốsố: : trong parameter parameter

củacủa ManvManv nhậpnhập tựtự bànbàn phímphím

4.7. CrossTab Queries. 4.7. CrossTab Queries.

 DùngDùng đểđể tổng động.. côcô động

tổng hợphợp dữdữ liệuliệu vàvà trình trình bàytheo bàytheo dạngdạng

CrossTab  CáchCách tạotạo truytruy vấnvấn CrossTab

thiết vàovào vùng lưới.. vùng lưới

vùng lưới lưới xuấtxuất hệnhện

–– TạoTạo truytruy vấnvấn mớimới.. –– ĐưaĐưa cáccác bảngbảng thamtham giagia truytruy vấnvấn vàovào.. trường cầncần thiết –– ĐưaĐưa cáccác trường –– ChọnChọn Query/ dòng Total dòng CrossTab trêntrên vùng Query/ CrossTab Crosstab Total vàvà Crosstab

 TạiTại trường

trường dùng Group chọn Group

dùng làmlàm tiêutiêu đềđề cộtcột chọn ô Total, Column heading chocho ô ô

By By chocho ô Total, Column heading Crosstab. Crosstab.  TạiTại trường trường dùng dùng làmlàm tiêutiêu đềđề dòng dòng chọn

 TạiTại trường

Group chọn Group ô Crosstab. ô Total, Row Heading chocho ô Crosstab. By By chocho ô Total, Row Heading

trường dùng dùng tínhtính giágiá trịtrị chọn chọn phépphép toántoán

tương ứngứng chocho ô Total, Value tương ô Crosstab. ô Total, Value chocho ô Crosstab.

 VíVí dụdụ: : tínhtính tổng

tổng sốsố namnam vàvà nữnữ trong trong từng khoa.. từng khoa

 KếtKết quảquả

 ChúChú ý:ý:

trường Crosstab chỉchỉ cócó mộtmột trường

Trong truytruy vấnvấn Crosstab –– Trong dùng làmlàm tiêutiêu đềđề cộtcột.. dùng

–– CóCó thểthể cócó nhiều –– ChỉChỉ cócó mộtmột trường dòng.. nhiều tiêutiêu đềđề dòng trường giágiá trịtrị..

Coulumn Heading Coulumn Heading

Row Heading Row Heading

ValueValue

Vi du: Vi du:

 TạoTạo query

query đểđể tínhtính kếtkết quảquả trung trung bìnhbình điểmđiểm thithi

từng tin họchọc theotheo sinhsinh viênviên từng

Mskhoa

Tenkhoa

MSMH

Ketqua1

tenMH

Khoa

Khoa

monhoc

Dangky

Monhoc

Where

Value

Group By Group By Group By Avg Row Heading

Row Heading

Column Heading

Like “Tin hoc”

lầnlần 1 1 củacủa mônmôn tin khoa.. khoa

 TạoTạo Quyery

lượng sinhsinh viênviên

Mslop

Phai

phai

lop

Sinhvien

Sinhvien

Group By

Group By

Count

Row Heading

Column Heading

Value

Quyery đểđể thống Nam Nam vàvà NữNữ theotheo từng thống kêkê sốsố lượng Query1.. từng lớplớp Query1

dùng nhiên nếunếu tata dùng

 TuyTuy nhiên Query trêntrên kqkq làlà: : Query  ĐểĐể hiểnhiển thịthị được

nguồn làlà query

1, Nu: 0) (Nam: --1, Nu: 0)

được Nam Nam vàvà NữNữ tata phảiphải dùng dùng query thứthứ haihai thêmthêm mộtmột query query vừavừa vớivới nguồn tạotạo đặtđặt (Nam: chocho tiêutiêu đềđề cộtcột..

 VíVí dụdụ Query

Query trêntrên tata lưulưu làlà Query1

Query1 tata cócó::

Mslop

Nam: -1

Nữ: 0

Query1

Query1

Query1

Một số ví dụ Một số ví dụ

 Thống

tin lượng sinhsinh viênviên họchọc cáccác mônmôn tin

Thống kêkê kếtkết quảquả họchọc tậptập lầnlần 1 1 củacủa cáccác sinhsinh khóa.. từng niênniên khóa viênviên theotheo từng trong cáccác lớplớp lượng sinhsinh viênviên trong Thống kêkê sốsố lượng  Thống doanh”” khoa ““kinhkinh tếtế vàvà quảnquản trịtrị kinhkinh doanh thuộc khoa thuộc Thống kêkê sốsố lượng  Thống khoa từng khoa họchọc theotheo từng

 KhiKhi thực

chọn, , muốnmuốn thaythay đổiđổi giágiá trịtrị

thực hiệnhiện truytruy vấnvấn chọn tin nàonào đóđó, , chuyển

chuyển sang

sang Datashet

Datashet View View sửasửa

củacủa mẫumẫu tin đổiđổi trêntrên kếtkết quảquả..

trường hợphợp muốnmuốn thaythay đổiđổi hànghàng loạt

loạt mẫumẫu tin

tin tata

Trong trường  Trong động.. dùng truytruy vấnvấn hànhhành động dùng

 Do Do tínhtính chất

chất nguy

Access nguy hiểmhiểm củacủa truytruy vấnvấn nàynày nênnên Access

thông báobáo. . ĐểĐể tắttắt chứchứ năngnăng nàynày: :

thường đưađưa rara thông thường Action Query tool/Option/Tab Edit/Find tắttắt Action Query tool/Option/Tab Edit/Find

4.7. Action Queries. 4.7. Action Queries.

4.7.1. Make Table Queries. 4.7.1. Make Table Queries.

total Queries chocho tata mộtmột bảngbảng giágiá trịtrị không thời điểmđiểm kháckhác cócó thểthể không

Select vàvà total Queries  Select thời. . MàMà tạitại thời tứctức thời trước.. được kếtkết quảquả nhưnhư trước thuthu được

 MuốnMuốn lưulưu lạilại bảngbảng kếtkết quảquả củacủa mộtmột Query Make Table Query. dùng Make Table Query.

Query tạitại

mộtmột thời  CácCác bước thời điểmđiểm tata dùng bước tạotạo::

 TạoTạo truytruy vấnvấn mớimới..  ĐưaĐưa cáccác bảngbảng cầncần thiết Query/ Make Table.  ChọnChọn Query/ Make Table.  ĐặtĐặt têntên bảngbảng mớimới..  NếuNếu muốnmuốn tạotạo bảngbảng trong

thiết vàovào truytruy vấnvấn..

trong mộtmột CSDL chọn CSDL mớimới chọn

 ThựcThực hiệnhiện cáccác lựalựa chọn

Another Database. Another Database.

chọn cầncần thiết thiết đểđể tạotạo bảngbảng

 ChọnChọn lệnhlệnh Run Run hoặchoặc chọn

mớimới..

chọn biểubiểu tượng tượng Run Run trêntrên

thanh công thanh công cụcụ..

Đặt tên cho Table mới

Table mới đặt ở CSDL hiện hành

Table mới đặt ở CSDL khác

 ChúChú ý:ý:

chọn lệnhlệnh Run Run mộtmột hộphộp thoại thoại cảnhcảnh báobáo

–– KhiKhi chọn xuấtxuất hiệnhiện..

–– NhấnNhấn Yes Yes đểđể thực thực hiệnhiện, NO , NO đểđể hủyhủy bỏbỏ..

NếuNếu đãđã tồntồn tạitại bảngbảng cùng

cùng têntên Access

Access sẽsẽ

thông báobáo.. thông

NếuNếu chọn

chọn Yes Access

dung Yes Access sẽsẽ lưulưu nộinội dung

mớimới vàovào bảngbảng cũcũ bịbị xóaxóa ..

MộtMột hộphộp thoại

xemxem bạnbạn cócó đồng

thoại sẽsẽ xuấtxuất hiệnhiện mộtmột lầnlần nửanửa không.. ý hay không

đồng ý hay

NếuNếu chọn

chọn Yes Yes bảngbảng sẽsẽ được

được tạotạo thật

thật sựsự..

 VíVí dụdụ: : tạotạo bảngbảng mớimới gồmgồm những

thuộc những SV SV thuộc

khoa ““avav”” khoa

4.7.2. Delete Queries 4.7.2. Delete Queries

loạt cáccác mẫumẫu tin tin trong trong bảngbảng thỏa thỏa điềuđiều

được cáccác saisai xótxót khikhi điđi tìmtìm xóaxóa cáccác mẫumẫu

 HầuHầu hếthết cáccác truytruy vấnvấn xóaxóa chỉchỉ xóaxóa trêntrên mộtmột bảngbảng

Action Query.  LàLà mộtmột Action Query.  XóaXóa mộtmột loạt kiệnkiện nàonào đóđó.. Tránh được  Tránh tin. tin.

nhiều bảngbảng thamtham giagia truytruy vấnvấn. (. (cócó haihai

nhiều” ” chỉchỉ cócó cáccác mẫumẫu

dùdù cáccác nhiều bảngbảng cócó quanquan hệhệ ““mộtmột –– nhiều nhiều bịbị xóaxóa).). tin bênbên nhiều tin

 LưuLưu ý:Trong

trường hợphợp truytruy vấnvấn xóaxóa ý:Trong mộtmột sốsố trường trong bảngbảng không tin trong không thamtham

 CáchCách tạotạo::

cócó thểthể xóaxóa cáccác mẫumẫu tin giagia vàovào truytruy vấnvấn..

lưới vùng lưới

From tạitại ô ô

–– TạoTạo truytruy vấnvấn mớimới.. –– ĐưaĐưa cáccác bảngbảng vàovào.. Query/ Delete Query. –– ChọnChọn Query/ Delete Query. trường vàovào vùng –– ĐưaĐưa cáccác trường Trường dấudấu * * xuấtxuất hiệnhiện từtừ From Trường DeleteDelete Trường kháckhác xuấtxuất hiệnhiện từtừ Where Where tạitại ô ô Trường Delete. Delete.

 ĐịnhĐịnh cáccác điềuđiều kiệnkiện lọclọc Chuyển sang Datasheet View  Chuyển mẫumẫu tin

sang Datasheet View đểđể xemxem trước trước cáccác

tin sẽsẽ bịbị xóaxóa..

thực hiệnhiện truytruy vấnvấn..

 ChọnChọn lệnlện Run Run đểđể thực  XuấtXuất hiệnhiện hộphộp thoại , No hủyhủy..

thoại cảnhcảnh báobáo: : ChọnChọn Yes Yes đểđể

chấpchấp nhậnnhận, No

 VíVí dụdụ: : xóaxóa khoa

nhiên.. khoa tựtự nhiên

tin thỏa

thỏa điềuđiều kiệnkiện nàonào đóđó từtừ bảngbảng nàynày

 ThêmThêm cáccác mẫumẫu tin sang bảngbảng kháckhác.. sang

 TạoTạo truytruy vấnvấn::

thiết vàovào truytruy vấnvấn..

lưới.. vùng lưới

dùng đểđể làmlàm điềuđiều kiệnkiện lọclọc..

–– TạoTạo truytruy vấnvấn mớimới .. –– ĐưaĐưa cáccác bảngbảng cầncần thiết Query/ Append. –– ChọnChọn Query/ Append. trường muốnmuốn nốinối vàovào vùng –– Drag Drag cáccác trường trường dùng –– ChọnChọn cáccác trường –– ĐịnhĐịnh cáccác điềuđiều kiệnkiện lọclọc..

4.7.3. Append Queries. 4.7.3. Append Queries.

4.7.4. Update Queries. 4.7.4. Update Queries.

loạt cáccác mẫumẫu tin tin mộtmột Action Query.  LàLà mộtmột Action Query.  CậpCập nhậtnhật dữdữ liệuliệu chocho mộtmột loạt

 CáchCách tạotạo::

cáchcách nhanh chóng.. nhanh chóng

–– TạoTạo truytruy vấnvấn mớimới.. –– ĐưaĐưa cáccác bảngbảng vàovào truytruy vấnvấn.. Query/ Update Query. –– ChọnChọn Query/ Update Query. –– ĐưaĐưa cáccác trường vùng trường muốnmuốn cậpcập nhậtnhật vàovào vùng

lưới.. lưới

 ĐưaĐưa cáccác trường  Trong

trường dùng dùng đểđể làmlàm điềuđiều kiệnkiện lọclọc..

ô Update To củacủa trường trường muốnmuốn cậpcập nhậtnhật

thức tínhtính toántoán

Trong ô Update To nhậpnhập vàovào giágiá trịtrị mớimới hay hay biểubiểu thức chocho trường

trường đóđó..  ThựcThực hiẹnhiẹn truytruy vấnvấn..

 VíVí dụdụ: : những

những sinhsinh viênviên thithi lạilại lầnlần haihai cócó sốsố

điểmđiểm từtừ 4 4 đếnđến 4.5 4.5 sẽsẽ được được chocho đậuđậu..

V. Truy vấn SQL. V. Truy vấn SQL.

5.1. CáchCách mởmở cửacửa sổsổ thiết 5.1.

thiết kếkế truy Database, trong SQL . truy vấnvấn SQL . trong mụcmục

> Create Querys --> Create

bước nàynày cửacửa sổsổ trong phầnphần thiết thiết kếkế

BướcBước 11: : TừTừ cửacửa sổsổ Database, tượng Querys chọn đốiđối tượng Objects chọn Objects query in Design view. query in Design view. SauSau bước Show tables xuấtxuất hiệnhiện ((nhưnhư trong Show tables QBE). truytruy vấnvấn QBE).

 BướcBước 22: : ĐóngĐóng cửacửa sổsổ Show table chọn View View --> SQL View.

Show table nàynày lạilại, , trêntrên thiết > SQL View. CửaCửa sổsổ thiết chúng tata soạnsoạn câucâu lệnhlệnh SQL xuấtxuất hiệnhiện, , vàvà chúng

 BướcBước 33: : ĐểĐể thực

menu menu chọn kếkế SQL SQL trong SQL trong cửacửa sổsổ nàynày..

SQL chọn chọn biểubiểu

tượng !! trêntrên thanh tượng thực hiệnhiện câucâu lệnhlệnh SQL thanh công công cụcụ..

SQL. pháp củacủa câucâu lệnhlệnh SQL. 4.2 4.2 CúCú pháp thuộc SELECT [DISTINCT|ALL]{*|

thức cộtcột> [AS <

tínhtính>|<>|

> [AS ]}>]} FROM ] [, …] bảng>[<>[] [, …] [WHERE <điềuđiều kiệnkiện lựalựa chọnchọn cáccác bảnbản ghighi>]>] [WHERE < [GROUP BY < dùng đểđể gộpgộp [GROUP BY ] >] [HAVING <điềuđiều kiệnkiện lựalựa chọnchọn nhómnhóm>]>] [HAVING < [ORDER BY

dùng đểđể sắpsắp xếpxếp>]>]

 Trong

thức cộtcột: : làlà têntên củacủa cộtcột hoặchoặc biểubiểu thức thức.. khung nhìnnhìn.. bảng:là:là têntên củacủa bảngbảng hoặchoặc khung danh: : làlà têntên viếtviết tắttắt củacủa têntên bảngbảng..

dùng đểđể nhómnhóm cáccác bảnbản ghighi cócó

trong danhdanh sáchsách têntên cộtcột thành thành mộtmột

dùng đểđể lọclọc cáccác nhómnhóm thỏa thỏa mãnmãn

Trong đóđó: : --BiểuBiểu thức --TênTên bảng -- BíBí danh GROUP BY dùng --GROUP BY cùng giágiá trịtrị trong cùng nhómnhóm.. HAVING dùng -- HAVING chọn.. điềuđiều kiệnkiện lựalựa chọn ORDER BY: qui địnhđịnh thứthứ tựtự cáccác bảnbản ghighi --ORDER BY: qui trong kếtkết quảquả trảtrả rara. . trong

nghiệm CâuCâu hỏihỏi trắctrắc nghiệm

CSDL Access chocho phépphép bạnbạn xâyxây

CSDL dựadựa trêntrên mômô hìnhhình dữdữ liệuliệu nàonào??

1.Hệ quảnquản trịtrị CSDL Access 1.Hệ dựng CSDL dựng a. a. AMôAMô hìnhhình dữdữ liệuliệu mạngmạng b. b. MôMô hìnhhình dữdữ liệuliệu phânphân cấpcấp c. c. MôMô hìnhhình dữdữ liệuliệu quanquan hệhệ

2.Một CSDL trong 2.Một CSDL

Access baobao

gồmgồm cáccác đốiđối tượng

trong hệhệ quảnquản trịtrị Access tượng nàonào??

a. a. BảngBảng, , BáoBáo cáocáo, , TruyTruy vấnvấn b. b. Macro,Trang

Macro,Trang truytruy cậpcập dữdữ liệuliệu, Module, , Module, BảngBảng, , TruyTruy vấnvấn, , BáoBáo cáocáo, , BiểuBiểu mẫumẫu.. , Macro, TruyTruy vấnvấn

, CSDL, Module, TruyTruy vấnvấn, , báobáo cáocáo, CSDL,

c. c. MẫuMẫu biểubiểu, , BảngBảng, Macro, d. d. Module, Macro, Trang Macro,

Trang truytruy cậpcập dữdữ liệuliệu, , MẫuMẫu biểubiểu

tổng hợphợp nhưnhư hìnhhình dưới

Hoten

Bia

Nuoc ngot

ruou

Hoang thi Lan

500000

600000

400000

Le huynh hoa

750000

250000

300000

3.Để cócó kếtkết quảquả tổng 3.Để thực hiệnhiện Query, thực Query, tata phảiphải thiết thiết kếkế loại dưới đâyđây khikhi loại Query Query nàonào??

Delete Query –– Delete Query Appen QueryQuery –– Appen Parameter Query –– Parameter Query Crostab QueryQuery –– Crostab

tượng  KhiKhi kíchkích vàovào biểubiểu tượng

khung lưới lưới củacủa Query thanh công công trêntrên thanh dòng Query xuấtxuất hiệnhiện dòng

cụcụ, , trêntrên khung nàonào?? –– DeleteDelete Append To –– Append To Total –– Total Update To –– Update To

 KhiKhi thực thực hiệnhiện loại thoại yêuyêu cầucầu nhậpnhập liệuliệu:: thoại

loại Query Query nàonào thìthì xuấtxuất hiệnhiện hộphộp

Select Query –– Select Query Append Query –– Append Query Parameter Query –– Parameter Query Delete Query –– Delete Query