Lý thuyết Hệ Quản Trị CSDL
Ngôn ng SQL – Phn 2 I. Nội dung cần quan tâm !"# $ %& !"'()# * !"+, # - !"%.!/01+ 2 3& !"4# II. Tổng quát 56478%8.9*':;< Select:='>'?4@)# From:='>,)%" # Where:='>AB CD%D'E'?4@)# /6'EF4)GH6478%8IJIK88L'?M,7C ':group by, having, order by,/NM;<max, min, count, sum, avg# O' %/P++H !"3%< SELECTQ;"RS37;TU FROMS37,%8V8 W!8KQ7%7RU QWHERES':4TUR QGROUP BYS37;T$UR QHAVINGS':4T$UR QORDER BYS37;T*QXOYZ[ORU Diễn giải < # ;"<5\49<X]]^D")3L,)6Z_O_ ^%D,B`%a+6Z_O_bcd^%D,B3L`%a+ 6c0SU^D3L'CBe':4# $# Z7;T<C;,@%" # Pf <;,F3"g6h $ @%" ");H,),%i3`<,%#j @7kbc5l9,%8!/%" ")J8%3H,%8'9i3`78%8j @.&;778%8m"F$,%87kbc5i+)l '>n;'9,%8/# *# Z7,%8<,%8o%" #i4@C: ($,%8i+)4@,%8%&!p^':44@'V7K88 -# X%7<,;3^CaH,)3`,)9C3/# 2# q:4T<%/':4'E%D3%# r# Z7;T$<3%7s'?M98/ 6?C\ 7# t# q:4T$<':4%D%&3%74'eu;9C3%#q: 4/ '?M+3vC3%Be':4T# w# Z7;T*<7a+m@+3%8/6ou%/G^XOV) ^Z[O#5V'>%/3%'?M7a+8ouG3#x7a+m@+'?Mu 8ou?C\+)# III. Truy vấn đơn giản SELECT S37;U FROMCT,) O78%86j'?M3`!pfy%" /,H,)# Z`\4distinct'E%&,B,`!/all'E%" "),3%#5V'> 4'Ei);%/93`\49%%# O78%89E3`,Eo7D?<z6I6j6W6!/9Eu{C ;# xZ< • ,37!C! A. Tìm kiếm có sắp xếp qE7a+m@+ou3%67{3v':cbZ[b|< SELECT} FROM} ORDER BYT;TQXOYZ[OR6T;T$QXOYZ[OR6### Tập_thuộc_tính.;V:;!/'?C;\7+)# * xZ< xp%<select * from Table1 order by B desc,A asc C,)3?p' < X X w w ~ • 7s'?M4@)7< X • ~ X w w qC%/m@+ou8?p67'96!p>i7s m@+8X# xZ< • ,@37!C7a+C8ouX%+,8 • ,@37!C8\+L,6 \ +L, C !C7a+8ou B. Tìm kiếm với điều kiện đơn giản qENMi4@9':467{3v':d[b[%O[][!p!> ;?7< 1. AND và OR SELECT} FROM} - WHERE^':T4TXZWcb####^':T4T xZ< O_x_[^5XOx 6c[6€O_6]c0 • 377!CH%p+•# ]?f<;9E•>%%6‚•47{3v'E77!p: ':4%C@+# 2. BETWEEN .AND • ,@!C74)G~22'@~r• V V 3. IS NULL và IS NOT NULL _Oƒ]]!/_Ocƒ]]<qE4E>9+)%/ƒ]]Ycƒ]] 4 • ,@!C49?„)%fu@+ • ,@!C9?„)%fu@+ 2 4. IN và NOT IN _!/c_3`'E4E>… 4…•+ M+/'9 4# • ,@'('V/9'VV/6$6*# C. Tìm kiếm có xử lý xâu ký tự qEm{%f!p3%3&m4fu6O†]9NM+1+]_[# ?„477;94E3%3&m4fui?„?„3` ]_[o43`+1+,…‡ xZ< • 7!CC ˆ<3`'E'&3:4fu'o?p\gh /L94fu7'E)Ai< T @4fu,"4‰# Chú ý: ]48Š,‹ˆ3ˆŒN,a'!pŠ,ˆ3Œ ]48Š,‹‹3ˆŒN,a'!pŠ,‹3Œ D. Tìm kiếm có điều kiện liên quan đến ngày tháng xZ< ZZ^5XZ 6€X|Z65X Z^5XZ65X 6Oc]ƒc€6Zc€_X • ,@'('V/'V?p/ •W•W$•• r • ,@'('V/'V?p/ •W•W$••%/ Lưu ý : • ,@!C7/ *•W-W~t2 < $< $<;m( E. Sử dụng các hàm trong khi tìm kiếm I O{3v/':K88 I O{3v/':78%8<':78%8/!'?M7{3v {?z6I6j6WL9E7{3v/'!p;# /!:/ /!: / E'4E3% /D } qEm8@!:/9E7{3v4c%87 • ,@DC!C!/H!C • ,@G7H!C • ,@D!/C' 'HH!C t F. Tìm kiếm từ nhiều bảng qEi4@/'9…F:,)4i4,7{3v ,)'9&':kbc5#` 8E>/P7s7{3v': 4&':d[b[7;M+# xZ< • ,e!C6C!C6C+L,/!C# G. Dùng toán tử θ θθ θ some, θ θθ θ all, exists, not exists Lưu ý: <> some và not in, <> all = not in. IV. Câu truy vấn sử dụng Group By A. Các hàm tính toán O†]7{3v/7<65m656O6X!#/3`'7j9y %/'@")AB':4'@/4'@,"4‰/# • 9"),C7!C%p+• B. Mệnh đề group by Z`'E93%6?„3`4@M+!p/;4EC# • ; 'E ,i H \ 7 !C6 ,@ … 'E 7 %? ,) [†ƒX^5XOx65X56Z_[5 • ,@%?(%p"\+L, Xx_[^5Xx 6[x60X_6]ƒc€60€ 0c€X^5X0 6[06b0€ XX^5XTx_[6[ 60X_6†ƒX[ w C. Mệnh đề having 5':Xx_€?„'?M7{3v`!p':€bcƒ0|#OXx_€%/ ,Eo':4#Eo':4/ 4'!//,)'?MlF ':J/l'%%?M\9A'el': +, # • ,@7!C9'E,i%p(V,…w#• V. Truy vấn lồng A. Tìm kiếm có lượng từ EXISTS, ANY và ALL • 37!C9;"# / 9E!@%&?7< Pf<‡X|?('?(!p{_ • ,@!C9%?(%p"# V9E!@?7< • ,@7!C9'E,i%p"# ~ 9$%& !"%. B. Loại 1: Lồng phân cấp 5':d[b[H !"4@'@;H ':kbc5F !" u6 !"7s'?Mu?p x;3v< • Cho biết các nhân viên cùng phòng với nhân viên “Nguyễn Văn A” • Tìm những nhân viên có lương lớn hơn lương của tất cả nhân viên ở phòng 4. C. Loại 2: Lồng tương quan 5':d[b[H !"@;";H ':kbc5F !"# u6 !"7s'?Mu:%6N%?(o!p ,H !"# x;3v< • Tìm những nhân viên không có thân nhân nào: †NHANVIENF !"4%C '@ NHANVIENF !" • • Tìm tất cả các nhân viên làm việc ở phòng nghiên cứu VI. Phép chia 9$u< Cách 1<O{3vc[=_OOzc_Vc[=_OOzc[=_OO Cách 2<O{3v':€bcƒ0|zXx_€ xZ< • i!C'?M+%/!")':3+LNghiên cứu )%; Cách 1: O{3vc[=_OOzc_ O{3vc[=_OOzc[=_OO !"/ 9 @'@; MANV H Xx_[C !" !"/ 9@'@ ;PHG H Xx_[C !" . ]?f<;9E•>%%6‚•47{3v'E77!p: ':4%C@+# 2. BETWEEN...AND • ,@!C74)G ~22 '@~r• V V 3. IS. Ngôn ng SQL – Phn 2 I. Nội dung cần quan tâm !"# $ %&