CAC QUERY SELECT DAC BIET
Chusng 4: Chusng 4: THAO TAC DU LIEU BANG QUERY
query select khác dựa vào đâu ra cua query. Ban có thé thực hiện thao tác phức tạp hơn thế này trong khung nhìn Design.
(fered Jer)
[Ble Ede dove acrt Query Tools. Yndow be q8, 8.5 3: KA m- £
Getect Famtd, Frame, Lime, Resation from FamdyMembers
|ON Select F ID, Foae, Iname, Relatom from Addtans ToF arty Merrbers;
Hình 4-19. Một query union trong khung nhìn SQL.
Lưu ý rằng các câu lệnh SELEBCT và UNION SELECT bạn dựng để nối 2 bảng dữ liệu lại với cỏc kiểu dữ liệu của fủeld giống nhau. Đây là một yêu cầu cho các query union. Các bảng hoặc ít nhất là các field bạn kết nối cần phải có cùng số, thứ tự và kiểu của các cột. Nếu không, bạn không thể cập nhật nguồn từ khung nhìn Datasheet, query sẽ tính toán lại mỗi khi bạn mở nó với dữ liệu mới nhất. Lưu ý rằng Access làm mất hiệu lực biểu tượng của khung nhìn Design đối với query. Bạn không thể kiểm tra một query union trong khung nhìn Design. Bạn phải thiết kế hoặc chỉnh sửa chúng trong khung nhìn SQL và bạn kiểm tra ảnh hưởng của câu lệnh SQL trong khung nhìn Datasheet.
Hình 4-20 biểu thị hoạt động của query union trong Hình 4_19. Các bảng FamilyMembers va AdditionsToFamily-Members ở bên trái Hình 4-20; kết quả kết xuất của query union là tờ dữ liệu nằm ở bên phải. Như bạn đã thấy thứ tự sắp xép cha field FamID, query tạo một tờ dữ liệu mới để nối thêm 2 dòng trong bảng FamilyMembers vao bang AdditionsToFamilyMemberss.
291
ƒamiD ¡ Fnama |inamej__ Ralslan
B TR Coben Me
@ 2Mrgme Cobron wie
3 Glen we son
a 4T1an HH son a S Shelly HH daughters aw
° 2 Vina Dabsản - wie
3ửl¿a - HỊ sen
TH telat) slabs | 4ieng CHỦ — sen
ch an Sen ele 6 €nely Hà đ3agieram-lye E:
FemlD name] Lhenne |[Rrlaionj } 6® — fdelttan sister
‘ Blee — Edelstem sister feo 7 Fotrer - Cianmocs nenhew : a T Faster Simmer; nephew S4 Chư Se eee BeNOR: diệu
Go S| Leora tet Va feafe fot F
Recorg sol HP +3 ]njssj] e2
————————- ˆ--]
Hình 4_20. Hai tờ dữ liệu ở bên trái là dữ liệu đầu vào của query union trong Hình 4-19. Tờ dữ liệu ở bên phải là kết quả đầu ra của query
union. .
Subquery
M6t subquery (query con) 1A mét query select nằm trong query khác. Subquery phải luôn luôn là một câu lệnh SELECT, nhưng bạn có thể sử dụng nó trong bất kỳ query nào khác, chẳng hạn như một query select hoặc một query action. Có thêm một số từ khóa để điều tiết cách xử lý của từ khóa SELECT của SQL chuẩn trong subquery.
Bởi vì câu lệnh SELECT trả về các giá trị, subquery đóng một vai trò rất quan trọng trong việc xây dựng các tiêu chuẩn động trong những query sử dụng chúng.
Câu lệnh SELEBCT được nhúng vào dòng Criteria cho cột Lname ở cửa sổ dưới trong Hình 4-4 là một subquery.
Hỡnh 4-21 trỡnh bày một query trả về giỏ trị Lnứme khụng trùng lặp do query union tên là qunFamilyMembersAdditions- MoreAdditions trả về. Query union kết nối ba nguồn record khác nhau. Cửa số ở dưới về bên trái trong Hình 4-21 là kết quả trả về của query union. Lưu ý rằng chỉ có một giá trị name không trùng, đó là Edelstein. Cửa số ở dưới bên phải là kết quả trả về của query select.
292
Chuang 4: THAO TAC DU LIEU BANG QUERY
những giá trị khong tring nhau trong field Lname. Luu ý rằng nó giống như query trong Hình 4-4. Ngoài điểm khác biệt là tìm kiếm trên một nguồn record khác, nó còn có một điểm khác nữa là subquery bắt đầu bằng Not In thay cho In. Biểu thức chứa Not In trả về những tờn khụng trựng nhau trong khi biểu thức chứa ùn trả về những tên trùng nhau.
mẻ vẻ. .a FaeHD Fname) Laame | Relation
Pew ĐÔcbvun Me TVsjma (ch$on wie
#Gkn — HA xen 4Tong Mw vừa S Siwy Hal đaagvete la
& Cre Eeelsten ster
Poster Summers nephew Bowe Sunmens meceimlaw Đi
#E2k Sune grardaeatew fe Racœg tt ee ee 4
LILIITIT- M
Hình 4-21. Cửa sổ trên cùng là một query có chức năng tìm những giá trị của field Lname không trùng. Cửa sổ cuối cùng bên trái và bên phải là các bằng dữ liệu đầu vào và đầu ra của query.
Cửa số trên cùng trong Hình 4-21 là subquery thiết kế để tìm
or GHI CHÚ: Trong khi bạn có thể kết hợp những kết quả trả về từ
những query giống như trong Hình 4-4 và 4-21 để trả về những
tên khác nhau, Access còn đề nghị các con đường dẫn đến cùng kết quả là dùng đồ thị trực tiếp và biểu thức cơ sở. Sự xem xét cách tiếp cận biểu thức cơ sở sẽ trình bày ở phần sau của chương này. Còn sự tiếp cận đồ thị cần phải cài đặt thuộc tính Union Values của query là Yes.
293 ị