Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 89 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
89
Dung lượng
6,55 MB
Nội dung
DAI MOC QUỐC GIA HA NỘỈ I K i ; o \ ( ; f)AI HOC KIlOA i l O f r ụ M i ỉ K N 1:L1ZABI;:T1I l y n c h N\ '.IjV'MD1CỈ1 N C.liYỉĨN N A M l l A i Đ H Q G MÀ N Ộ trường OAi HOC CỐNGNGHẸ - r m i la N ọ i - 9 j V Ẹ N I.Ờ I ( Ỉ I Ớ I T H I Ệ U Cuòii sách Iiày Iiliain m ụ c clícli ” iới ihiỘLi VC II^ÒII n'j,ữ tliao tác co' sỏ' d ữ liệu vSQL Pliạm vi m cu ồn sácli bao h m chira có ngliTa đ ấ y đủ lìhièn, sau d ọ c sách bạn SC c ó nhìn dầ y đủ, tống qt VC nhiìii"; khái n iệ m dãnu, sau kiên thức làin việc với lệnh Mac dù cìì sách đưực viêì dựa vào liòLi c h u n S Q L củ a Cục T iê u chuấii Qiiỏc gia M ỹ - ANSI - 1986, nhưnc, bạn SC s m thấy khôns, có san |)iiẩni S Q L liiện liành áp clụiig th e o tiêu c h u ẩ n bị thất bại C h ú n g lỏi cò' g ă n g giới Ihiộu với bạn lệnh AN SI, m ặ t khác, n h ữ n g lĩnh vực m inột s ố n h ữ n g ứiig d ụ n g c h ủ y ê u củ a S Q L khác (t hư ờng Iiliững lý d o ưu việt ) với tiẽu c h u ẩ n , s ự k h c thực c h ú n g Cliúng lôi c h ọ n d ù n g DB2, S Q L d B A S E IV, Inf orm ix O cl e c h u y ê n imhiệp coi nh n h ữ n g đại diệii củ a h n g loạt (trên 50) áp d ụ n g c ủ a SQL D B có sấn ỏ' cấc m y vi líiih lớn có n h k h ổ n g lồ ( m a i n iVaincs); Informix O r a c l e trơn m y tính lớn, m y tính mini m y tính cá nliân PC^ (Personal c o m p u te r ) d B A S E IV S Q L có P Q T r o n g suốt viê( bạ n Ihấy S Q L ANSI bòn loại S Q L - n gơ n ng ữ hỏi có c âu trúc n y đưực sử d ụ im urưng phảii với nh a u ví dụ Phụ lục F3 inỏ tá tổng quát íừng sàn phắm Chuoìig 12 đifa niột sơ đổ so s án h đ ặ c đ i ể m c hín h với d ẫ n vắ n tát VC nhữn g kh ác biộl củ a c h ú n g với tiêu c h u ẩ n , bấl c ác ph ươ ng liộn phụ mà c h ú n g dira c m n h ậ n c h u n g nhữn g nià c h ú n g L’iong n h a u đ e sử diiiig Tuy nhiên CLIƠH sách khơng có ý định dẫn đầy đủ Oracle, clBASE, In f o im ix D B ! N ế u b n m u ố n biết thê m chi tiết VC áp d ụ n g đậc biệt n o củ a SQL , h ã y t h a m kh ả o dẫ n c ủ a c h ú n g , tha m k h o sác h dặc biệt vồ SQL Lưu ý đòi vứi n h ữ n g người sử d ụ n g d B A S E (và hộ c sở d ữ liẹu PC c) Vì S Q L (rỏ’ nên "đổiig bộ" với d B A S E IV, nhiề u người sử d ụ n g clBASE IV tự tìm thấy họ với m ộ t hộ t h ố n g m a n g đ y đủ đặc đ i c m S Q L "được đưa v o ” với clBASE T r o n g hầu hết trườiìo; hợp, n h ữ n g nuườ i sử dụiig m u a clBASE tiện Iighi củ a clBASE m k h n g nhiTng nét đặc cúa SQL N ế u bạn troiiíí nhữn nỉỉười này, bạ n có thổ n g c nhièiì thấy S Q L làm nlũrng điề u m clBASE k h ô n g thể H o n c ả n h bạn khác với h o n c ản h củ a phần ló'n nhữníí imirời sỉr dụiig hệ cư s d ữ liệu SQL, n h ữ n g người có lõ dã c h ọ n m ột hệ vSQL c h o bán thán họ theo iihũTiíí ưu đ i c m riêníí c ủ a C h ú n g hy v ọ n g cuỏn sách n y giú p bạn làm q u e n với SQL, giúp bạn thấ y dirợc bạn cổ the sát nliập vSQL với d B A S E IV nhu' thê 'n o Nèii hail dã làm qu e n V()i inot hẹ ihoiiu kl iôn u (.lựa vào SQL (\ I c!ụ I1 CU h a n IIIIDV d y cíà su' cỉụnc hẹ co’ S(V (hì liệu l*C' c h a n u haii Iiliir (ỈBASíi hciáL 1’a r a d o x ) b n s ẽ t n h i ê n l l i â v i n ì n l i l i i o n l i i ói i SCI s n l i SQÍ , VĨI n h ữ n u h này, hồ n tốn hát đáu lừ bâì lọi SQL Nhưim han phiii Iihâ!i ràng n h ữ n g sư so sánh vây ỉiiốim Iihư S(1 sáiili nhữim t]iiá c a m \'ới nliưiio táo, ca hai đcii cổ n hữn g inùi vị riênu ícli lợi riC'nu ci’ia cliiìníi, c h ú n g h o n toàn khác S Q L d B A S E chi giốim nliaii c h ỗ c a !iai đêu xử lý nhữníỊ d ữ liệu c ù n g hệ c s liệu; Nlur liạii th ày , SQL k h ô n g phái đối thủ cạn h tranli vứi hệ c sơ cỉữ liệu P C "truycn th ôn g" m sửdiino; đè bổ XLing c ho clnìnu (ỉ i ó i th i ệ u S Q Í Khái (Ịiiát T r o n g chươnc; n y c h ú n s sữ giới thiộu với bạn lịch sử c ủ a S Q L , với nhữni; khái niệíTi liên qiian c ho đòi SQL , s ố lý d o tai liệ SQ L ưa c h u ộ n g hộ t h ố n c c s d ữ liệu "truyến th ò n g " M u c đícli với nhrrns thôim tin bán này, bạ n transĩ bị tốt hom trước xem lệnh S Q L chươim / / i\'ỉnỉ câu dinh Iii^liũí ciìd SQL Nèii hạn rniiốn tóm trít tất cá nhữns; đ i e m q u a n Irọiiii VC S Q L trciim m ột câu, câu đ â y có thơ ho n tồn làm đirợc điổu đó: •SQL (đọc 1à ''Sequel" liay "Ess C ue FJI" có nghTa "Nc;ỏn n u ữ hỏi càu trúc") ngô n n g ữ c sư liệu ciựa níỊuyŨMi lác liên c Ị u a n chứa lệnh đối vcýi d ữ liệu thực hà nh " Phấn lại clurơng nàv í i n h c h o việc c,iai thích SQ L thưc nízhĩa ! ' I j c h s t ó m tắt c ủd SQl S Q L dược h ã n g IBM thức đira o íĩiữa nhữĩií; nă m 70 n h ciự án IRM imhiC'n cih.1 troni; Ịiliòim đư ợc dựa Iihữns; liêu clniấn củ a B F Coclcl c ăn ban p h n c ph p m iê u t;i n h ữ n u qu a n hệ c ủ a (lữ liệu kièu q u a n hộ (x e m phấn 1.3.4 chircync i3 đè' hiê't thê m chi tiết ve "qu an liộ" níihĩa cD T r o n c thời gian nàv IBM xiiâì h:in (táy đỉi c ác chi tiêl VC tác p h ẩ m m ì n h cho phép nhà c u n g c ấp đưa hệ t h ố n g SQL rât tưctns: tự với hệ thốníỉ IBM C c hệ t h ố n s S Q L t h n g m a i đâu tiêĩi đirợc đưa vào cuối nh ữn g n ă m 70 đè sử cỉụiiu trèn c c m v tính lớii V M c ủ a IRM hẹ đicu hàiih đa n h iệ m - Unix (Ora cl e, Ineres) n g a y tiếp sau đ ó !à SQ L /D S IBM c h o hệ thốim ináy tính lớn V M VSE Và(i n m I9S3 IRM dưa S Ọ l trèii c sớ DB2 ch o !iệ điổu hànli M V S thiết láp ticii chiiân c h o hệ thoni; co' sớ liệu m y tính lớn T i o i m suốt Iihiriig Iiain 80, hệ th õn g c sớ liệu trèii niáy tính len m y tíiih rnini đèii cluọc dLía vào liê iưưiig Cịiiaii, hệ c s SQL Cht) lỏi gáii dây, má y tinh cá nliâii (l^c,) k h ò n g the đưa klia nan g línlì tốii Ihòi uiaiì Iriiy nhập ihòrm tin vào cĩĩa nhan h c h ó n g cán tliiòt dê đic u liàiih clio inộl liẹ ihỏnu ciã dược "cli trú" từ liộ tliônt; đa nhi ệm ( O ia e lc cỉuiycn Ii^liiẹp, liií onni x v.v ), tất cá Iihữim liệ thống dó da sát nh ậ p ihành hệ cư s ỏ ' d ữ liệu PC hiẹn hà nh (d B A SE IV SQL , K: base v.v ) ỉ S Q L '^i I^ì klioiiíỉ Ị)iiíii Ici S Q L N hiề u nuười n h m lan VC vai trò ciia S Q L tr on g t h ế giới sở liệu Nêu 'chúng la nhìn vào mà k h n g pliải dễ d n g để p h n biệt •SQL S Q L k h ô n g Ị)hải là: - Mộl hệ q u n lí s liệu (DB MS) Một ns;òii Ii” ữ lập trình thủ tục - Một imôn n g ữ thố hộ thứ (4GL) S Q L là: - Mộl ng õn imữ thực hành cư s d ữ liệu p h o im ịihú ( D M L ) dựii Ircii iihũTig y niệ m qu a n hệ - Một cách đỡ tạo nhữni; hè cư sỏ' tlữ liêu c ó thổ maiii; đu ợ c chi.) m ỏ i triròTit; phán c ứ n » Ị)hán m ề m - Đ ược thict kè dế sử d ụ n g cácli iưưiig hỗ cá lổng n g ô n iiịỊỮ tliủ tục Tất ca điồLi Iiày đưực giúi thích chi lict / ,ỷ / I/Ừ (ỊIKÌH lý co' sỏ' d ữ ỉiêu ( D B M S ) ẹ/ ? Troiii; hệ q u a n lý cư sứ d ữ liệu củ a m y tính, tất cà sò liộu đ ợ c giữ lại mộl s ố dạiig vật chất gọi "cơ sở d ữ liệu" V iệ c truy nhậ p sô liệu dược điồu khiến b ằ n g phán m ề m đư ợ c gọi DBMS; Chín li D B M S "biết" diì liẹii cất sz,iữ đâ u tron g k h u ô n d n g vật chất Bail ihán D B M S truy nhập đê bổ XLiiig, đ ể c ập nhật, xố c h í t vân d ữ liệu - b ằ n g 1 ,0 1 n g ữ c sở d ữ liẹu S Q L m ộ t ví dụ củ a m ộ t ngỏii ngữ CO' sử d ữ liệu, thân k h n g phái m ộ t DBMS Sự khác biệt "máv cư sở d ữ liệu" cuim c ấp bơi D B M S , ng ô n n g ữ sử d ụ n g đẽ "đicii khiên" diồLi cỊiian trọnơ nhấ t vồ m ặ t lý thuyèt, cliính D B M S cỏ (hê đuực truv Iihậc) bới nhicLi n g ô n n g ữ c sở d ữ liệu c nliau, làm ngưừi sử dụni; linli hoại (rong viộc lựa c h ọ n g giao diện ch o d ữ liệu Tiiy nhiên, thưc lè hạn Ihríy ráng cìơi với phan lĨTi c;íc innc đicli chiìng Ui nghĩ đèn DB MS n h đồiiu imhui N h S Q L k h ô n g phái D B M S , nhưn « ikS n g ô n Iiuữ Ihưc hành sở liệu ì Niỉơìì riiỉữlân Ỉrìnỉi, Híiơìì i m ữ í l n ì tuc 4( jL s N h c h ú n g tơi nói đây, S Q L m ộ t n gô n n ụ ữ liệu D M L ) Phải c h ă n g khác với c ác ngơ n Iigữ m v c h ả n g hạ n n h BASIC - ng ôn n g ữ lập trình bậc c ao hư n g thươiig mại c h u n g ? Câu tní lời có ve "Có" k h n g phải n gô n n g ữ th ế hệ thứ C h ỗ củ a S Q L n g ô n n g ữ m y tính giái thích đ y thực h n h sớ clữ tính ''th ôn Ihường" C O B O L - imôn n g ữ T u y nh iê n , nổ c rm c t h a n g đ o c ùa Sự k h c n h a u chủ yếu m ộ t n g n n g ữ lập trình " tm y e n th ốn g" chantĩ h n n h C O B O L , BASIC c ( c ũ n g đư ợ c coi "nhữno n g ô n n g ữ thê liệ th ứ ”), m ộ t G L n h ữ n g n g ô n n g ữ tru yề n th ốn g "thủ tục" Nói c c h kh c, người sử d ự ng ngôn n g ữ t h ế hệ thứ có thê đơn gián ch o m y tính biết kết q u ả yêu cầii bán thân ngô n n g ữ ịihai lự làm thê Iiào để đạt kết q u ả đó, ngirời d ù n g ng n n g ữ G L - thứ phái chí rõ c ho m y rinh m ộ t cách ch ín h xá c làm t h ế đ ể đạt đư ợ c kết q u T r o n g m ộ t t h ế giới lý tưởng, tất ca việc truy nh p với tlữ liệu m v tính nên tiến hà nh qua ng ơn np;ữ thứ - G L ; T r o n g thưc tế, nííơn n g ữ thứ - G L s đ ó n g vai trò lổn troĩig hriii hốt phát Iriên ứng dụ n g M ặ c dù S Q L nên n h ó m vứi n gỏ n n g ữ k h ổ n g Ihiì tục ( n h hạn th â y x e m lệnh SQ L c h n g 2), hiin thân SQ L k h ô n g phái n g ô n n g ữ thứ - 4G L Một n h ữ n g ký hiệu thươim mại c m ột G L cíó c u n g c ấp m ộ t n h ữ n g c ố n g cụ Irìiih đ ộ c ao hình thức rnàn liình c c lliiết k ế bá o cáo, tạo tiện ích m e n u v.v , giá m bói n h iệ m vụ người sử clụim tron g việc phai tự thiết lập c c chirctng trình n h vộy G L k h ô n g đư a n h ữ n g kiến tạo lập trình (các v ò n g lặp, c c n h n h v.v ) c ũ n g c ng phai m ặ t ph n giới G L dễ s d ụ n g T u y nh iê n, S Q L thiết k ế đ ể sử dụnỉĩ, h o ặ c "lổntỊ" với c ác noo n n g ữ lập trình thủ tục (cho phép người sử d ụ n g d i m s p h n g tiện truy tìm d ữ liệu p h o n g phú SQ L kết hợp với bâ't c n g cụ lập trình n o nổ yè u c u ) phấ n lớn n h ữ n g noười m u a đồii th â y việc áp d ụ n g SQ L c ủ a họ c ù n g với G L c ũ n g g iố n g n h c ác tiện ns;hi làiTi c ho việc sử diiỉií: S Q L dễ d n g Đ i ề u n y k h n g có ng hĩa bạn chí sử clụníĩ S Q L từ m ộ t n g ô n n g ữ ' t r ì n h độ cao" Các lệnh S Q L c ũ n g có thỏ đirực sử d ụ n g c c h tươim tác, vói người có t m y nh ậ p trực tiêp vào c s d ữ liệu Sự thực, ciiôn sách n y h ầ u n h tập trun g giành rièna; c h o tác d ụ n g "tirơnỉĩ củ a S Q L - Sau licl, n ế u bạn k h ô n g hiểu lệnh c biĩii củ a S Q L Irìiili đ ộ "tidìi gian tinât" ciia c h ú n g bạn dừ n g cli C|uá xa cô g ắ n g lồng c h ú n g vào inột l ụ ò n n g ữ làm chii ! T u y nhiôn, nhiề u Iigircyi y sử d ụ n g hệ t h ố n g SQL ll A'y c c lệnh vSQL íương đơi kh ó học, thích d ù n g d n g G L vơi c c gi a o diộii bá o c áo hưn h o ặ c Ihiiơ m ộ t người viê( đơn trèii sơ S Q L c h o bằiig niộ( ngô n ngữ lliứ lioặc thứ - G L /4 G L VI p h n g tiện n y c h o phép c ác liộ sô d ữ liệu PC h n h , c h ẳ n g liạii n i clBASE IV, giú p S Q L tioii p h m vi c c c ấu tiúc lệnh hiộn hàn h cùa ch ún g Ngirời d ù n g dBAvSE c ó thể s d ụ n g phưư ng tiện truy (ìm d ữ liệu cua S Q L đ ể truy n h ậ p d ẽ liệu, sỉr d ụ n g th 9()()()00 Vti nliậii đư ợ c b n g kêì q u a ÌÌÉBÌÍMI S U M (cjl larụet) East 987654 Soinh 999999 K h ô n g d ù n g W H E R E đ ê c ó c ù n g kếl íỊiiá, điổu kiện W H E R E k h ỏ n g b a o g iờ c ó thể clìứa c ác c h ứ c n â n g lập hợp S Q L k h o n g c h ấ p n h ậ n bất c ứ m ụ c đ íc h n o nói n h ữ n g điề u n h : S E l E C T r e gi on , S U M (t| I (aiget) F K O M s a l e s m e n W H E R E S U M (í|l la rg el ) > 9()()()0() G R O U P BY region ** ILLEGAL** 6.4 ( ’ÂU ỉ Ệ N l l U N IO N s i : i i c r ó -/./ U N I O N m v iệ c n h th ê H o U N I O N c h o phéị) b n s clụiig c âu lệnh đưiì S Q L đ ế Uiực hiệ n hư n chất vấn li ê n g biệt c sở bang lổi kếí hợp kết íịúa Ihànli b n g kêì q u ả đ(.m V í dụ , cl ìú ng la m u n x e m tất cá n h ữ n g người b n hàng k h u vực " p hí a Đ n g " cá tất cá n h ữ n g người bán hàiig có chi tiêu lớn lOOOOÍ), c h ú n g ía c ó thể nổi: S E L E C T e m p n o , s ii in a m e , C]l target F K O M s a l e s m e n W H E R E region = "Rasi" UNION S E l E C T eni|)iu), s i i m a m e , t | l large! I"K()M s a l e s m e n W H E R E q I target > lOOOOO 74 'ĩ long hóng kêl C|uá c;ic liàiig cluợc Imy iiluỊp S E L E C r clÀii tièn (lêii I h k Vc I i h ữ n g l i ì i n g ( l i i ự c l i i i v Iili:1|i b i S E L E C T lliir h a i N è i i bạii lììiiỏiì Ih a y tlổi (lìiili lự, (limg O R D E R RY clể á|i (lụiig c h o lo n hộ h n g kêt (]ii:i (chi'r kliỏiig pliái c h o tìriig S E L F C D N hư vẠy ; S E L E C Ỉ ' e n i Ị i n o s u r n a m e , C|l hiigel F R O M salesnieíi W H E R E region = "Ea st " UNION S B L H C l enipiio, simiiiiiie C| I target f^ROM salesineii W H E R E (aigct > l o o o o o O R D E R BY e m p n o clio ciliig hàiig Iihir lioiig Mối liếp số liiệii nliâti viêii U N I O N c ủ a c c h a n g k h c t th a ii 'Iroiig 6.4.1 c h ú n g ta đâ ỉhực hai vSELECT tiêii cìiiig b ả ng Nhiing b n cfiiiiJ có lliê sừ clụiig U N I O N dể kêl h ợ p n h iề u hàiig ỉìr nhiểii b ả n g khóc Uo vệy Ị);in có Ihể nói : vSELF.Cr e n ip no , s u n i a n i e a dd re ss F R O M s a l e s m e n w ỉ I E R E region = ' East" UNION S E L E C T etii|)no, siimn nie acitlress F R O M lìiíningei W f lE R E legion = "East" để xeiii hàtig clirực kêt hợp Mnnager Sa le s m e n (giám đốc Iilũnig người bán ỉiàng) làiìi việc khu vực Phía Đ n g J N h ĩn t g h n c h ế v é s ứ (lụ n g U N I O N C ác cột c h o d a n h sách cột S E L E C r phải đirợc (ịiiy clỊiih rõ, kể tên cỊiiy cá cli (cló kiểu (lữ liệu \ ì ì clộ d i) Bạii phíii cỊiiy dịnh lõ làiig cÌKig cộ( g iố i ig nlinu l i o n g íiiỗi cAii lệnh SELECr Nlur vẠy bạii k h ô n g !hô lạo b ả n g kế t q u ả c ó ch ứa cột "EAiìipiio" "Si iiname" (lừ "S a le sm e n" c ộ n g với c h ứ c d a n h (từ M a n a g e r ) với inọl lệnh Iilur; S E L E C r en ip no , si m ia in e F r o m S a l e s m e n UNION 1LLEGAL^=»= S E L E C n ’ e m p n o , sii m a in e, liile fr om M a n a g e r 15 C'fiiiy Iilur vậy, b n g " M a n a g e r " tlã xác lỈMih "Simianic" Iihir chièii lộitg có 30 ký lự Iihư ngirợc l.ii với ''S ale sm en" báiig có 20 ky lư, d o tlổ chãi váii liẽp san Ihâì bại S E L E C T em pno., surname FR O M salesmen UNION S E L E C T eniịiiK), S a le sm en F R O M m a n a g e r 4 U N I O N n g ợ c l ụ i v ó i W H E R E O R N ê u b n lììiiốii kết hợp liàiig lừ hai b a n g c (hì bạn phái sứ d ụ n g U N I O N N h n g bạn d ù n g U N I O N hai S E L E C T lừ cì m g biing, háii hết trường hợp bạn c ó Hiế sử tiling cácli lưcyiig đưong b n g m ộ l đ iể u kiện W H E R E O R đ ể thay Ihế D o đế đạí đư ợ c cìing lìiột báiig kêt C| Iroiig 6.4.1 nói cách k h c , c h ú n g ta có (hể S E L E C T eniịino, s u r n a m e , q l la ige t F R O M s a l e s m e n W H E R E re gion = " Eas(" OK C|1 l a r g e o lOOOOO, 6.4.4.1 U N I O N CÓ Ihể k h c với W H E R E O R n h Ihế sử diiiig U N I O N tr o n g hai S E L E C T lừ c ù n g mộí b a n g Ihư ờng c h o n h ữ n g kếl qiiá lưcíiig lự nlur việc s d ụ n g niộl điều kiện O R (rong mệiili đ ề W H E R E T u y nhiê n, tiêu c h u ẩ n ANSI s clung Iihrrng q u y irớc iloi lậ|i c ho nliững n g m đ ị n h đôi với D I S T I N C T A L L tron g inệnh đề S E l E C r U N I O N , m c h ú n g có (hể tạo n h ữ n g k h c biệl đ n g kè đôi với báiig ke( cỊihí clưực đưa la hai pliưíyng ịỉháp k h c Iiliaii SKI.E CT đ m itiriyng n g m địiih củ a A L L , U N I O N điím đưig n g ầ m đị nh ci'ia DIS T IN C T Nói c c h k h c , (ất h n g cliép bị loại câu lênh U N Í O N trừ bạn yêu cầu cách cụ thể A L L (Tất Cíí) hàng, trong điềii k iệ n W H E R E O R c h ú n g c ó thể í ự đ ộ n g đư ợc giữ lại Do vâ y câu lênh: S E L E C T s u r n a m e F R ( ) M Salesineii U NION S E L E C T SIIIn a m e F R O M s a l e s m e n c h o cliíiìh xấc cíiiig báiig kết C|iiá nh S E L E C T s iiiii am e F R O M s a le s m e n n h u n g nói SELECT siimamc FK O M salesmen 76 UNION ALL SRLLK'l sMiiiaiìie [ ' R O M S a le sm en sc "p;1p clỏi" hiing k cl C|u;i V(')i King IƠI1 ciia ngưòi bail hàng xiial lull IÁI1 C(') I he IÌ1 h;in d u hao ịiiò im iỏn làm d iều Iiàv Milling c íìn g hổ ích nêu bièl n h ữ n g kli;i n a n g (ồn lại 6,,^ CÁC HẢNCi r m i c ' ỉl(.)l‘ T R O N d C'ẢC SI I.IX'T 6.5.1 (Ìió ì Ihiệii I KÌIIS lAt c ả c ác Iháo liiạti CIUI cluing lôi S E L E C T c h o dèii giừ cluing (a xem xét ảnh liirởiig SELECT (King IÌ1ỘI bảng đơn Sự íiêp cận làtiì bạn licp íliii (lễ dàiig hơii n h ữ n g |)hức lạp c ác ĩnệnli đề S E L E C r k h c Iihaii 'ỉ uy Iiliiên, hiiii có Ihể sử tlụng S E L E C T I1 ỘI c c h hình (lầiig ctể khai (hác lliòng tiiì (ừ lion lìiộl hảiig l.ý lliuyếl qiian liệ gọi kiểu Ihao lác nàv m ội liêii kêt C lu in g ta h ã y x e m bail áp d ụ n g c c vSELECT inà bạn clã biết để làm việc vói c c h ã n g phức họ p n h thè C h ọ n c c c ộ í từ n h iê u h ả n g Đỗ biế n niộ( c IkYI vấn b a n g tloìi (hành Liên kết, bạn phải c h o vSQL bièl cácli lõ n g nhữiig cột bạii imiốn tir tiliữiìg bảiig Iiào làm i h ế n;'io (lể liên kếl nhiề u hnng líỊÌ với N(')i cácli khác, bạn càu |ìhài bổ sung - C':íc lên cú;i tất h.’i iig lìr đ ó clữii liệu clưực yêu CÀII (ír ong m ệ n h đ ề í ROM) - Các: lêii (AI ca CỘI liơii CỊiiau Iroiig (ÁI híuig - Mội hniin liên lò cho hA( nlirrng CƠI \’ớ'\ cíing (ơn liong nhiều li(íii niột híiiig - C sờ ch o việc lièn kêl (lio n g I11Ộ( niộiih dề W H E R E ) C luing tòi lấy 1 ỘI sơ ví clụ tìr b n g " S a le sm e n " "C oníra cỉ" Đ ể bắt tlíiii cliiiim la liãy gia sử lằ ng c h ú n g ta có hni người bán h n g ba h ợ p cỉổllg V í (lụ c;íc liííiig c S(V ; Sa le sm en ciiipiio siiinaine Coiilract.s eiiipiK) ciislỉiaiTie anioiiiil lOOOI s ìiilh 2()0()2'Hiaines Bros -soooo 2()()()2 Idncs I ()(){)I Hi M ar ket s 25()()() 77 lOOOl Asl ia ỏ:: Cl) loooo Đ è llie hiẹii so hiệu nlìáii vièn lèii cúa lừiiu Iiiiiioi Ixiii hàiig c ù n u \o i íèii cúa k h c h h n g lổni» sò (ấl cá họ p ilổng ciìa họ (lìiộl liài)g clu) niot hợp đ ổ n g ) bạn cỏ lliê nói : S E L E C T c m p n o , s im ia n ie ciisliiamc, anioiinl F R O M s a l e s m e n , CDiitracls W H E R E Sa le sm en eiiiịiiK ) co iìlra cls ciiip iìo Báng kết cỊiiả dược íhể lìiệiì Empno Surname Custname Amount 20002 Jon es T h a m e s Bros 50000 lOOOI Smilh n i M ark ets 25()()() 1()()() Smilh Aslra & Co lOOOO N h bạn Ihây, liên kết k h ổ n g pli;ii klió làm c h ú n g la chi đoìi gi.iii xác địn h - Các lên cú a tâì ca b n g Hèn tịiian F R O M S a le sm e n , c on li a c ls M ệ n h đ ể F R O M c ho ciâìi ph â y, tách d a n h sáclì củ a h n g mà S Q L |)hái châì vấn - Các lèn c ủ a t ( S E L E C T M IN (q l target) F R O M s a l e s m e n ) 6 J A Ỉ L A i L d ợ c sử (.lụng c c h Iưííiig (ự với A N Y - đ ó với c c t)á li'r sô học Tiiy Iihiêii, điển kiện A N Y giá liỊ CỘI W H E R E phải lớn ỉíiai.íhó hưn tất cá c ác giá trị tạo cliâì vấn Ị)liụ Vì lý clo nà y, IIĨ vơ ngliTa sử d ụ n g A L L với ciấii hiệu Iigaiiig bng, n h tro ng = A L L , m ộ t điều kiện Iihư Vcậy clìỉ có (hê đ n h giá Đ ú n g ỉ ế tât giá Irị Irong danh mục chất vấn |)hii ''íroiig" iưưiig lự Đ ế x e m tấl cá n h ữ n g b n h n g có m ứ c chí liêu C|iiý I ihâ p n h ấ t bạ có Ihế nói ; SELECT empno, surnam e FR O M salesmen W M E R E q l targeí < = A L L ( S E L E C T q l target F R O M s a l e s m e n ) Chái van [)liii lại ch o Iiìộl tlaiih sách tất cá giá tiỊ chỉieii qu ý I Rồi IIĨ kiếni tra lìmg c o n sô chi tiêu c úa b n g cư s so với loà t ộ danh Scích để loại tiìr lât Iiliữiig giá liị nà chí liên cao liơii bấl g i link) b a n g d a n h sách Chỉ c o n s ố liêu Ihâp nliâì k h ò n g v o a i h m ụ c này, d o v â y n h ữ n g người báii h n g có giá liị tiêu Ihấp n h t irơc c h u y ể n q u a bảiìg kết q u ả cuối c ùng Đ ú n g n h với A N Y , íiựđáiih giá n y c h ắ c c h n k h ô n g nhìĩi Ihấ y lútbin đầu Lần nữa, bạ n phái m rõ ng hĩ a chát vấn nêu Bạii c ó (hélàii c ù n g kết q u ả với c c h đơii g iả n hưn nh iề u S E L E C T em pii o, s u r n a m e F R O M s a l e s m e n W H E R E q I target = ( S E L E C T M IN (C|l la ig e l) F R O M s a l e s m e n ) 6 J E X I S T S Vd N O T E X I S T S EXISTS k i ế m Ira c h o (ừng h n g (rong háiig sở x e m x e m c ó h n ; n u ) llioá m ã n điều kiện cliấí vấn phụ h a y k h ò n g Nèii có E X I S T S dn^ EXISTS chí niột lốii từ cliâl vãVi |)hụ c h o Ịiliép b n xác clịiih niiii hon cột tro ng S E L E C T / châì van |)lui Đ y tio lĩiột inệiili đ ề E>S'"S 86 U icii’ kiểm liii niộl CÒI ị;iá liị i I;k : biộl (iiliir mồi cliAI vfiii phụ khác làm) clii(h n llmfin cho IIIỘI kcl (|ii:i (liin^/.siii Sự lluie, ciícl) tie Iiliỉìl tliiiig ''(all colii'is) liong Miệnh tie íiXlvS IS E X IS T S hriii Iiliir liiỏn liiôii tliiợc tliiii” dè kiểm lia xem Dìộl giá Irị dặc biệ xiiAI liiện l i o i i g m ộ l b ; i n g k h c lir vi ệc MĨ ilư ợc sỉr ilụiig lií)iig S Ỉ Ì L B C r d ìíili liay khơng C liiiii” la C(í lliè tiling nX IS'l'S Iihir mộl cách lie lìm la lỉiiiiị: I igười b n h i i g IKK) c ó giií li ị Iiliộp vàt) b n g c c lìỢ|) clống SlĩL B C l' cnipno, Iiiinic [^'kOM salesmen W H E K B E X IS I S (S E L E C T FK O M conlracl.s V V IllĩR li salesmen cm|)iK) = coiitiacls eiii|)iio ) Đ ê x e m Iiliữiig n g i iờ i b n h ì m g i h a l)án tltrực I h ứ gì, bail c ó lliế I h a y EX s r s b ằ i i g N O r l ĩ X i S 1S; S E L E C l ' e m p i K ) , Iiimie F R O M salesintMi W IIB R Il NO I i ì x i s rs (S itL B C r F R O M coMtincls W HERE salesmen empiu) - contracts, enipno) (X em pliÀu 6.5.4.5 dể xem Iiiộl cách khác cfing iiliẠii ílưực cìing ke( CỊlát B n c ỏ t h ể liiôii liiỏii t h a y lliè IIIỘI cliẻu kiôii / A N Y h o ặ c m ộ t cliổii k i ! i / A L L b ằ n g niộ l B X S T S / N C ) 'I' lìXỉvSlvS lliích h ợ p T ó m (ắỉ : BAy b;ni tlã có lAI ('á c;íc yèii tỏ cliính ctia cAii lẹiili SELIĨC"!' Nlnr hiygiờ b;m nliAii lliAy, S liL B C ”! Iliực niộl lôiih liọng nliAt lioiig mội ht 5Q L, lAI Iiliièii mà liÀii lièl Iiliững Iigirời sử tiling sc clìiiig c Ik ) 90% cúig việc cúii họ ... s d ữ liệu SQL, n h ữ n g người có lõ dã c h ọ n m ột hệ vSQL c h o bán thán họ theo iihũTiíí ưu đ i c m riêníí c ủ a C h ú n g hy v ọ n g cuỏn sách n y giú p bạn làm q u e n với SQL, giúp bạn... ố n biết thê m chi tiết VC áp d ụ n g đậc biệt n o củ a SQL , h ã y t h a m kh ả o dẫ n c ủ a c h ú n g , tha m k h o sác h dặc biệt vồ SQL Lưu ý đòi vứi n h ữ n g người sử d ụ n g d B A S E (và... SQL, giúp bạn thấ y dirợc bạn cổ the sát nliập vSQL với d B A S E IV nhu' thê 'n o Nèii hail dã làm qu e n V()i inot hẹ ihoiiu kl iôn u (.lựa vào SQL ( I c!ụ I1 CU h a n IIIIDV d y cíà su' cỉụnc