Tìm hiểu SQL

89 124 0
Tìm hiểu SQL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 03/01/2020, 23:39

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan