Giáo trình thực hành sql

7 23 0
Giáo trình thực hành sql

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

Thông tin tài liệu

BÀI CÂU LỆNH SELECT M ục đích; nàv nói về: • Cách viết truy vấn SQL • Lựa chọn hiển thị tất h n a cột b a n c • Lựa c h ọ n h i ể n íhị chì c c CỘI c hỉ đinli t r o n g b ả n g • Lưa chọn \ầ h iển thị • cột từ nhiều b ả n e • • W Đ ể sừ d ụ n s đầy đủ sức m ạnh m ộ t C SD L q u a p /h ệ bạn cần phài giao tiếp vói nổ thơng qua truy vấn (query) M ộ t Iruv vấn S Q L k h ò n g thiết ià m ộí u cầu iíy liệu từ CSDL, lìó lù m ộ t c.lu !ộnh dể làm m ộ t iro ns việc sau: • Tạo xố m ột bảng • T h è m ^'ào, sửa đổi xoá hàng, CỘI • T im kiếm m ộ t vài bảng tlioả m ãn th ơn s-tin trá k éi ũ uà ihec thứ tự cu thể • Sửa đổi ihơn^ tin an tồn Đ ể ihực công viậc vậv ta phải tạo m ộr )''êu cáu Ửi đ ế n ỉv|' CỊunn trị CSDL Yỗii cầu Vỉổ’t d n s m ộ t câu lệnh cùa n g n n g ữ S Q L mh ns ưịi-ĩa r,ọi ìà Query Chúns ta d ịc h 't h u ậ t n gữ ỉà “ truv vấii" N h vậv iruy vấn cách thức mà naười sử cỉụp.2 siao tiếp với xừ ly SQL Q uy íắc ch ung cú Ta thấy, cú pháp SQL thực ỉinli hoạt, m ậ c đù cũr.ỉ: có kiậi pììâi tiiíìn theo bất kv m ội níĩơn neữ iâp trình khnc M ột truv vấn do'n aiân ỉĩiinh hoạ cho cú phấD câu lệnh SQL S E L E C T - H ã v thộí ỷ vào chữ hoa dấu cách, phản cách họp ỉý củci từ ns thàiih phán Iro n s m ỗ i iru\ vấn với lừ Idioá SQL SELECT KAME, , STAR7TER^C, ' ERDTERK FROM PRESIDENTS' WHERE n?-2"Z = 'LINCOLN'; ' ' ■' ^ ' , ' T ron g ví dụ tă't chữ viết hoa, Iiliưng idiónỉí nh âí th iếi phải n h vậ)- Truy v;ín trẽn đáy cũns giống truy vấn ncu viết nhu sau; s e l e c t name, S t a r t term , endf-erm i' r o m presidents i.-4'iere name = 'LINCOLN'; Lmi ý !ă chữ L IN C O L N hai ví dụ viết hoa Mặc dù rá ' ’ lẹiih SOL Idiông phân biệt chữ h o a với chữ thường tham chic.r ■t díi ỉiệu có Ví dụ, có nhiều cơng ty lưu trữ liệu họ với chữ ị)ì 'ÌOI^ !'i 'Tig ví dụ iíên, giả sử cột tơn lưu Irữ.iỊội d ung liệu vói chữ in hí 1i - -nột t;’ỉy vấn tìm kiếm chữ 'Lincoln' cột lên kliơng tim ínấv i r- i íhoầ m ãn N ầư vộv câu lện h SQ L ta kliôns phân biệl chu loo nhữ íhưịvp, Cũng khơng có 'đặc biệt với ỉchoảng trắng, m iền I:‘| '-ác ớiokìp^ khơng chia cắt thành phần cú pháp D ị n s mã lệnli ;-.ai ,àv , ' \ kếf g iố n s nliư cách viếc tiuớc: I me, 3tart:term,■ ■ endterm £i'u ji p r< 's id e n c s , w here p.dJTie = ' L I N C O L N ' ; 'Tuy nJiiẻn, m ột vài klioảns trắng viết chữ hoa ỉàm cho câu lệnh :a crở liên dễ- dọc Vậy sư q u an trọng k h ô n ? phải ià chỗ viếi h ay /liếu cách ihì -phán nàũ ỉà quan trọng? Câu trả ỉời cấc lù kiicá 'key w ord), hay những-từ ĩrong SQL đ JC d àn h riâns: n h rnột phán cú •háp T uỳ Ihuộc vào cAu ỉệnh SQL, m ột từ k h o ỉệnh ÌÍI ■' I.]',ọn ỉnưng từ khố irong câu ỉệnh Iiàv là: ’ SELECÌ' •ỈẾLECr F R O M ■í=n í'ó rỉ)út kinli ng hiệm vái SQL, ta thấy rừ SE) M i' V ĩị' ụỉiiều liơii từ k h c 'tro n g b ản ? từ vựng cị‘i.1 '■•ứi:- l: ứ b áí dầií với lừ SEL EC T hầu hết câu lệnh ta sè bắt r1;ìn ĩiCĩ: ^ ^ ^ ^ ' , ' cú pháp: \ CELECT.' < t ê n ^ c c c ộ t > Đối vói câu lệnh kể cáu !ệnh nữa, cáìi S E Ĩ.E C T kliơnp ''hễ don piản hon T u y nhiên, SELECT khơnp, chì ; v-ộc m ộ t ưiình Mếii Iiỉiư bạn Õ SEL E C T vào hệ thốna pủa bạn, ■5QL> SELKCT; bạn nhận dược kếl sau: 10 SELECT Hr ERROR ac line 1; ORA-00936: missing expression T h ô n g báo lỗi cho b n m ộ t thànli phần bị ihiếu Phần bị hiếu chínli ià m ệ n h đề F R O M Nliư vậy, câu lệnh SELEC T FR O M bắt đáu n SỨQ m ạnh đ ằ n s sau CSDL bạn Bạn tự hỏi p h ân biệt m ộ t từ khoá (keyw oidi, m ột crlii lệnh (statem ent) m ột m ệ n h đề (clause) Các từ khố SQL nói tớỉ thaiih phán SQL riêng rẽ n hư S E L E C T F R O M M ộ t m ện h đề ỉ'à m ôt phiin Xĩonẹ câu !ệnh SQL; ví dụ, SEL EC T c ộ t l , cột2, ià m ộ t m ệnh đề Các niệnh đé SQ L kết liọp với vói nỉiau để tạo n ên m ộ t câu lệnh SQL hồn chỉnh Ví dụ bạn kết h ợ p m ột m ệ n h đề SELEC T m ộ t m ệ n h đề F R O M để viết nên m ột câu lệnh SQL Tuỳ thuộc theo nhà phác triển, m ỗ i b ả n SQ L có m ột cách rièns đê ỈSỈ ĩ lỗi Ví dụ, M icrosoft Q u ery nói k h ô n g thể iruy vấr để l.ìạn íự íìm vấn đề Borland's In tcrb asc dưa m ột liộp thoại uoim uó iihi rõ lỗi P ersonal O racle? đưa cho b ạn số h iệu củ a ỉỗi m ột siải thích n s ắ n gọn iỗi M S/SQL server có m ộ t k iểu thơna; báo lỗi m ình Y íđ ụ ; Sau m ộ t ví dụ m ộ t C SD L m c h ú n a ta dùng niiiều để m inh ỉhoạ cách dùng m ện h đề S E L E C T F R O M C húng ta chưa bàn tói vân đề ỉàrn tliế đổ tạo CSDL này, n h ng đ ể p h ụ c vụ clio ,mục đích ỉà niỏ lả cách dùiig S EL EC T F R O M n h th ế nào, ch ú ng ta sỊÍả thiếí có sẩn C SD L đói, V í đụ n y d ù n g b ản g C H E C K S đ ể lấy- thông tin hoẩ đơn m m ỗi cá nhân đ ã tao 3ng C H E C K S : CHECKfr i PAYEE AMOUNT REMARxKS M a Beii R eading R R M a Bell Local Utilities Joes Stale D ent Cash Joans G as 150 ? ^ H ave sons next time T rain to Chicago Ceiỉulnr Phone Gas G roceries W i l d Ni^h r Oii£ Gas 98 150 25 25.1 ĐAy truy vấn đáu tiên ban 11 SQL> select from checks; Kết sc ỉà CHECKÍ PAYEE MĩOUNT REMARKS Ma B e l l Reading R.R Ma Bell Local Utilities Joes, Stale Dent Cash Joans Gas Ĩ5C H a v e s o n s Iinic '245.34 T'rain "CC Chicaoc 200.32 Cellular Phone" 98 Gas 150 Groceries 25 'wild Night Out 25.1 Gas , rows selected K ết trả giống n h b ảng tro n s v í d ụ H ã y lu\: )' cột ỉ cột phần kết lề phải cơí cột ỉại c ăn lề bẽn irái Đ ịn h d ạn c tuân theo quy ước c ăn lề, theo quv óc liệu d n c số đưọ'c càn ỉể phải liệu dạng kv tự lề b ê n trái Dấu (*) S E L E C T * cộ n sliĩa C S D L ira \'ề trú côf t ro a s bảng-được đ a m ện h đề F R O M C SD L xác điĩih tliứ tự cổc cột k ế t Quả • K ếí thúc m ột câu lộnh SQL Trong m ột vài cài đặt SQL, dấu chấm p h ẩy (;) ò' cuối câu lệnh có nelìĩa ỉà bạn viếl xong câu lênh V í đụ S Q L * P L U S cùa OvAck k h ố n g thực câu ỉệnli cho tói klii thấ\' dấu (;) h o ặ c dấi! (/} Tuy nhiên, m ột số cài đặt khác ỉại k h ô n s dùng dấu ch ấm phẩy n h ITÌỘL k ý hiệu kêt thúc.V í dụ M icrosoft Q uery Borland's SQ L k h n s v cấu m ột dấu chấrn phẩv, vi truy vấn bạn gõ ironíĩ m ộ t h ộ p s o n lỉiáo sC* d :: ỉ nực bạn niiấn m ộ t nút đà quy địnli T hay đcSi thứ tự cột V í dụ trưó- c ủ a c â u l ệ n h S Q L s u a ụ n ẹ d ấ u c l i ọ n lự:, iấi c a c c c ộ! ù; m ột bảng, thứ lự cột xuấí hiên ph ần V"' đưọ'c CSDL xác định Đé thứ tự cùa cọ:, bạn r-' ih" Ì.C; óoiia lệnh sau; SELECT payee, remarks, amount, checkf ^K,s Lưu y Iằn£ ten cột phải ghi trỏ n s m ệ n h đề S E L E C T , TỊiứ iư cấc cột d ợ c ghi s ẽ thư Lụ c h ú n g x u ấ t h i ệ n i r o n s k ế l q u ả Irả Vu Kltv' liriỉ ý tói c c d ấ u p h ẩ y n í ă n c c h g ỉ ữ r ren c c c ộ t v ă k h u i i i í L i ố n s s i a ler cộr c u ố ! c ù n c vói m ện h đề (trons ví aụ 1? m é a h đề F R O M ; K ii qiia ira vể nỉur sau: 12 PAYEE R-mRKS • ' A MO U N T C H E C K ịệ Ma Bell Have sons next time Re ading R.R Train to Chicago Ma Bell Cellular Phone Local Utilities Gas J o es Stale Dent Groceries Cash Wild Night Out Joans Gas Gas 150 5.34 200.32 98 150 25 25.1 5 7, rows selected M ộ t cách viết k h ác câu lệ n h n h sau: SELECT payee, F R OM checks; rerrtarks, amount, check# T a thấy m ệ n h đề F R O M đ ã ch u yển xuốna: d ò n s ihứ K ết quà trá ỉà g iố n g n h au có d ạn g câu lệ n h thay đổi 'C h ọ n c ác cộ t riêng rẽ Bâv m bạn đ ã k iể m soát thứ tự củ a cột bạn c ó tlìỏ ch ì bạn m u ố n x em cột G iả sử bạn k liồ ng m u ố n rihìn ihấy tất cà cột ironsĩ C SD L Bạn sử d u n g lện h S E L E C T * đ ể x e m th n ^ tin có sẩn bây ơicí bạn m u ố n tạp trung vào số ỉioá n tổ n g số Bạn gõ; ■ SELECT CHECK#, amount from checks ; K ết q uà íiả bủỵ CHECK# ,, ^ , ■AÌ40ƯMT ^ 2 0 , 98 150 25 ■1 rov/s selected Bây bạn có cộ t m b n m u ố n x em Cái xảy n ếu b n in u ố n x e m thôn s tin từ m ột b ả n g k h c ? Lựa c h ọ n b ả n g khác G iả sử b ạn có b ả n g kliác D E PO SIT S với cấu trúc sau: 13 DEPOSIT^ VJHOPAID C redit AMOUi:: REMARKS U; Oh 5G0 L o a i Ơ Ỉ cần bạn thay đổi m ệỉili đề F R O M đ ể có b ả n s m o n s m u ố n cõ lệnh sau: select * from deposits K ết là; DEPOSITS VJHOPAID AMOUNT REMARKS R ich U n cle E m ployer C red'i'r U n io n rov;s 200 T a k e c f f 1C0Ũ 15 J u n e 50 L o a n - 1st selected N l i v Ạ \ c h i vói m ộ l i l i a v d o i n h ỏ g i ữ đ v b n đũ lu;' nlụiỊ) ù i i ọ r ÌII i i g u n d liỘLi m ó i Đ ặt truy vấn vói vêu cầu lấy giá irỊ k hác (D is tin c lio r., Nếu xem lại b ả n s C H E C K S , bạn ihấv co m ộ t vaỉ dĩi iiẹu bị ỉặp lại \ ' í clụ nêu ban d ù n s cfiu lênh sau nỉiin vào côt A M O U i N T : K êì qua ỉ 15C 34 20C 32 98 50 c, 25^1 rov.’s selected SỐ 150 bị lặp lại L m th ế n n ếu bạn m u ố n x em liẹi có s ố tiền khấc nhai' í rong cột nà)'? H ãy thử g õ cáu ỉệnh; select r i S T I N T T amount from checks 14 K ết quà là; AKCUi'JT 245.34 00 22 25 rov.'s selected Báy siừ có íihi dưạ'c chọn Bửi b ạn gõ D ISTIN C T , có m ộ t g i trị t r o n g d ữ l i ệ u k é p đượ c h i ể n thị, đ i ề u đ ó c ó n s h l a s ẽ c ó b ó l m ộ t ohi li-ả A L L từ khoá n s ầ m đ ịn h tro n g câu lệnh S E L E C T Bạn liáu kh n g nhìn lhấ_v từ A L L S E L E C T < b ả n c > and S E L E C T ALL < b ả n gW- > c ù n s- có kết nlur * T ó m tắt T k h o S E L E C T FR O M cho p h ép viết iruv vấn để láy liệu Bạn có ihể tạo m ội câu lệnh đáy đủ vìi eộp tấĩ b ả n e với m ộ t câu ỉệnli S E L E C T h oặc bạn có Ihể sấp xếp lấy d ữ liệiỉ từ b ả n s n hat định T khoá D IS T IN C T giói h ạn k ết trả b ạn k hô n g nhìn íhấv siá trị trùng nlĩau m ộ l cột, , Câu hoi C c câ ii l ệ n h d iĩói đ â y Irả N'c k ế t q u ả í i ố n s : h a \ ' klìaC IIỈIUU '? SELECT=^= F R O M C H EC K S select from chccks Các truy vấn kliônc thực lại sao? a Select * Seỉeci am o u n L n am e payee F R O M ch eck s Các cflu lệnh dưói thực được? a select from chexks b s e l e c t f r o m checks; Bài tập H ãv sử dụ n g bảnơ CH ECK S h ô m nay, viết truv vấn để hiển thị số hoá đơn cột remarks Hãy viết lại truy vấn c h o cộ t rem arks xuãì CỘI đầu ú ẽ n kêì q uả cửa bạn D ù ne b ảng CH ECK S, viết m ột tru y vấn để trá vể ưú ca siá trị rem arks d u y 15 ... ent) m ột m ệ n h đề (clause) Các từ khố SQL nói tớỉ thaiih phán SQL riêng rẽ n hư S E L E C T F R O M M ộ t m ện h đề ỉ'à m ơt phiin Xĩonẹ câu !ệnh SQL; ví dụ, SEL EC T c ộ t l , cột2, ià... ếí thúc m ột câu lộnh SQL Trong m ột vài cài đặt SQL, dấu chấm p h ẩy (;) ị' cuối câu lệnh có nelìĩa ỉà bạn viếl xong câu lênh V í đụ S Q L * P L U S cùa OvAck k h ố n g thực câu ỉệnli cho tói... với vói nỉiau để tạo n ên m ộ t câu lệnh SQL hoàn chỉnh Ví dụ bạn kết h ợ p m ột m ệ n h đề SELEC T m ộ t m ệ n h đề F R O M để viết nên m ột câu lệnh SQL Tuỳ thuộc theo nhà phác triển, m ỗ i

Ngày đăng: 18/03/2021, 19:19

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

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

Tài liệu liên quan