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: <:
: 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ệ><> 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ự. - 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
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.. 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ừ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.. Monhoc Monhoc 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 TínhTính tổng tổng sốsố giáogiáo viênviên củacủa từng khoa..
từng khoa Khoa Giaovien 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 Khoa lop sinhvien Group by Group by count 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.. Sinhvien Sinhvien Dangky Group by Group by count >=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 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. Sinhvien Sinhvien Dangky dangky Group by Group by count Where >=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 Sinhvien Sinhvien Sinhvien Sinhvien 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.. Sinhvien Sinhvien Sinhvien Dangky Sinhvien Group by Group by Group by Count Group by >=[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 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ị.. 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 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ụ.. 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 QueryVí dụVí dụ
VíVí dụdụ
TìmTìm những
những nhânnhân viênviên sinhsinh vàovào quýquý 11
Ví dụVí dụ
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í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
Total
Ví dụVí dụ
Filed
Khoa: tenkhoa
Sogiaovien:msgv
Table
Total
Filed
Tenkhoa
tenlop
Sosinhvien:mssv
Table
Total
Đặ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
Filed
Mssv
Hotensv
Tongsomon:msmh
Table
Total
Criterial
Ví dụ:
Ví dụ:
Filed
Mssv
Hotensv
Tong:msmh
nienkhoa
Table
Total
Criterial
Hotensv
Mssv
phai
Filed
Table
Criterial
Filed
Mssv
Hotensv
phai
msmh
ngaysinh
Table
Total
Criterial
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
Coulumn Heading
Coulumn Heading
Row Heading
Row Heading
ValueValue
Vi du:
Vi du:
Một số ví dụ
Một số ví dụ
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
dùng đểđể sắpsắp xếpxếp>]>]