« Home « Kết quả tìm kiếm

Thực hành ngôn ngữ SQL


Tóm tắt Xem thử

- §Ó truy xuÍt d÷ liÖu tõ c¸c dßng vµ c¸c cĩt cña mĩt hay nhiÒu b¶ng, khung nh×n, ta sö dông c©u lÖnh SELECT.
- Chó ý: C¸c thµnh phÌn trong mĩt c©u lÖnh SELECT ph¶i ®­îc sö dông theo thø tù.
- MÖnh ®Ò FROM trong c©u lÖnh SELECT ®­îc sö dông nh»m chØ ®Þnh c¸c b¶ng vµ khung nh×n cÌn truy xuÍt d÷ liÖu.
- §Ó ®¬n gi¶n ho¸ c©u hâi, ta cê thÓ sö dông c¸c bÝ danh (alias) cho c¸c b¶ng hay khung nh×n.
- Trong mÖnh ®Ò WHERE th­íng sö dông:.
- Kh«ng lín h¬n.
- Kh«ng nhâ h¬n.
- Tõ kho¸ BETWEEN vµ NOT BETWEEN ®­îc sö dông nh»m chØ ®Þnh kho¶ng gi¸ trÞ t×m kiÕm ®ỉi víi c©u lÖnh SELECT.
- Tõ kho¸ IN ®­îc sö dông khi ta cÌn chØ ®Þnh ®iÒu kiÖn t×m kiÕm d÷ liÖu cho c©u lÖnh SELECT lµ mĩt danh s¸ch c¸c gi¸ trÞ.
- VÝ dô 2.2: §Ó hiÓn thÞ th«ng tin vÒ c¸c nh©n viªn cê hÖ sỉ l­¬ng lµ hoƯc 2.11, thay v× sö dông c©u lÖnh:.
- WHERE hsluong=1.86 OR hsluong=1.92 OR hsluong=2.11 Ta cê thÓ sö dông c©u lÖnh sau:.
- Tõ kho¸ LIKE (NOT LIKE) sö dông trong c©u lÖnh SELECT nh»m m« t¶ khu«n d¹ng cña d÷ liÖu cÌn t×m kiÕm.
- Ng­íi sö dông trùc tiÕp ®­a gi¸ trÞ NULL vµo cho cĩt ®ê..
- Trong mÖnh ®Ò WHERE, ta sö dông IS NULL hoƯc IS NOT NULL nh­ sau:.
- C¸c to¸n tö logic sö dông trong mÖnh ®Ò WHERE bao gơm AND, OR, NOT..
- AND vµ OR ®­îc sö dông ®Ó kÕt hîp nhiÒu ®iÒu kiÖn trong WHERE..
- Khi muỉn truy xuÍt tÍt c¶ c¸c cĩt trong b¶ng, ta sö dông c©u lÖnh SELECT cê có ph¸p sau:.
- Khi sö dông c©u lÖnh nµy, c¸c cĩt trong kÕt qu¶ sÏ ®­îc hiÓn thÞ theo thø tù mµ chóng.
- §Ó chôn ra mĩt sỉ cĩt nµo ®ê trong b¶ng, ta sö dông c©u lÖnh SELECT cê có ph¸p sau:.
- §Ó lµm ®­îc viÖc nµy, ta cê thÓ sö dông mĩt trong hai c¸ch viÕt sau:.
- VÝ dô 2.4: Hai c©u lÖnh sau sÏ ®Ưt tiªu ®Ò Hô vµ tªn cho lµ hoten vµ §Þa chØ cho cĩt diachi khi kÕt qu¶ ®­îc hiÓn thÞ cho ng­íi sö dông:.
- Sö dông cÍu tróc CASE ®Ó thay ®ưi d÷ liÖu trong kÕt qu¶.
- Trong c©u lÖnh SELECT, ta cê thÓ sö dông cÍu tróc CASE ®Ó thay ®ưi c¸ch hiÓn thÞ kÕt qu¶ ra mµn h×nh..
- Tõ kho¸ DISTINCT ®­îc sö dông trong c©u lÖnh SELECT nh»m lo¹i bâ ra khâi kÕt qu¶ truy vÍn nh÷ng dßng d÷ liÖu cê gi¸ trÞ giỉng nhau.
- VÝ dô 2.8: nÕu ta sö dông c©u lÖnh:.
- Nh­ng nÕu ta sö dông c©u lÖnh:.
- MÖnh ®Ò ORDER BY ®­îc sö dông nh»m s¾p xÕp kÕt qu¶ truy vÍn theo mĩt hay nhiÒu cĩt (tỉi ®a lµ 16 cĩt).
- Ta cê thÓ sö dông c¸c sỉ thay v× sö dông tªn cĩt sau mÖnh ®Ò ORDER BY..
- NÕu ta sö dông tïy chôn ALL th× c¸c dßng giỉng nhau sÏ kh«ng bÞ lo¹i bâ.
- Ta cê thÓ sö dông c¸c dÍu ngoƯc ®Ó x¸c ®Þnh thø tù tÝnh to¸n trong phÐp hîp..
- C¸c cĩt t­¬ng øng trong tÍt c¶ c¸c b¶ng, hoƯc tỊp con bÍt kú c¸c cĩt ®­îc sö dông trong b¶n th©n mìi truy vÍn ph¶i cïng kiÓu d÷ liÖu..
- 1.8.2 Sö dông UNION víi c¸c giao t¸c SQL kh¸c.
- C¸c nguyªn t¾c sau ph¶i ®­îc tu©n theo khi sö dông phÐp hîp víi c¸c c©u lÖnh giao t¸c SQL kh¸c:.
- MÖnh ®Ò ORDER BY vµ COMPUTE dïng ®Ó x¸c ®Þnh thø tù kÕt qu¶ cuỉi cïng hoƯc tÝnh to¸n c¸c gi¸ trÞ têm t¾t chØ ®­îc cho phÐp sö dông ị cuỉi cña c©u lÖnh UNION.
- Chóng kh«ng ®­îc phÐp sö dông trong bÍt kú b¶n th©n truy vÍn nµo trong phÐp hîp..
- MÖnh ®Ò GROUP BY vµ HAVING chØ cê thÓ ®­îc sö dông trong b¶n th©n tõng truy vÍn.
- Chóng kh«ng thÓ ®­îc sö dông ®Ó t¸c ®ĩng lªn kÕt qu¶ cuỉi cïng..
- PhÐp to¸n UNION còng cê thÓ ®­îc sö dông bªn trong mĩt c©u lÖnh INSERT..
- PhÐp to¸n UNION kh«ng thÓ sö dông trong c©u lÖnh CREATE VIEW..
- PhÐp nỉi ®­îc sö dông ®Ó truy xuÍt d÷ liÖu tõ hai hay nhiÒu b¶ng hoƯc khung nh×n trong cïng CSDL hoƯc trong c¸c CSDL kh¸c nhau bịi cïng mĩt phÐp xö lý..
- Trong danh s¸ch chôn cña phÐp nỉi, ta cê thÓ chØ ®Þnh mĩt sỉ cĩt b»ng c¸ch chØ ®Þnh tªn cña cĩt ®ê hoƯc tÍt c¶ c¸c cĩt cña nh÷ng b¶ng tham gia vµo phÐp nỉi b»ng c¸ch sö dông dÍu sao.
- NÕu ta sö dông dÍu * trong danh s¸ch chôn th× thø tù cña c¸c b¶ng liÖt kª trong FROM sÏ ¶nh h­ịng ®Õn kÕt qu¶ ®­îc hiÓn thÞ..
- Nê x¸c ®Þnh tªn cña cĩt ®­îc sö dông ®Ó nỉi vµ phÐp to¸n nỉi ®­îc sö dông..
- C¸c to¸n tö so s¸nh d­íi ®©y ®­îc sö dông ®Ó x¸c ®Þnh ®iÒu kiÖn nỉi PhÐp to¸n ý nghÜa.
- Kh«ng nhâ h¬n..
- Mĩt phÐp nỉi b»ng (equijoin) lµ mĩt phÐp nỉi trong ®ê gi¸ trÞ cña c¸c cĩt ®­îc sö dông ®Ó nỉi ®­îc so s¸nh víi nhau dùa trªn tiªu chuỈn b»ng vµ tÍt c¶ c¸c cĩt trong c¸c b¶ng tham gia nỉi ®Òu ®­îc ®­a ra trong kÕt qu¶..
- §Ó lo¹i bâ ®iÒu nµy, ta cê thÓ sö dông phÐp nỉi tù nhiªn (natural join) b»ng c¸ch lo¹i bâ ®i c¸c cĩt trïng tªn víi nhau..
- Trong phÐp nỉi nµy, c¸c cĩt ®­îc sö dông ®Ó kÕt nỉi ®­îc so s¸nh víi nhau kh«ng dùa trªn ®iÒu kiÖn b»ng..
- §Ó lµm ®iÒu nµy, ta cê thÓ sö dông phÐp nỉi ngoµi.
- Ta sö dông mÖnh ®Ò COMPUTE BY kÕt hîp víi c¸c hµm gĩp dßng vµ mÖnh ®Ò ORDER BY ®Ó s¶n sinh ra c¸c c¸c b¸o c¸o (report) nh»m thỉng kª c¸c gi¸ trÞ d÷ liÖu.
- C¸c hµm gĩp cê thÓ sö dông ®­îc víi COMPUTE BY bao gơm SUM, AVG, MIN, MAX vµ COUNT..
- Khi sö dông mÖnh ®Ò COMPUTE.
- Tõ khêa DISTINCT kh«ng cho phÐp sö dông víi c¸c hµm gĩp dßng.
- C¸c cĩt sö dông trong mÖnh ®Ò COMPUTE ph¶i xuÍt hiÖn trong danh s¸ch chôn..
- Kh«ng sö dông SELECT INTO trong mĩt c©u lÖnh SELECT cê sö dông COMPUTE..
- NÕu sö dông mÖnh ®Ò COMPUTE.
- BY th× còng ph¶i sö dông mÖnh ®Ò ORDER BY.
- Ph¶i sö dông mĩt tªn cĩt hoƯc mĩt biÓu thøc trong mÖnh ®Ò ORDER BY, viÖc s¾p xÕp (order) kh«ng ®­îc thùc hiÖn dùa trªn tiªu ®Ò cĩt..
- Tõ kho¸ COMPUTE cê thÓ ®­îc sö dông mµ kh«ng cê BY vµ khi ®ê ORDER BY lµ tïy chôn..
- Ta cê thÓ sö dông c¸c mÖnh ®Ò GROUP BY vµ HAVING ®Ó thỉng kª d÷ liÖu..
- Nh÷ng mÖnh ®Ò nµy th­íng ®­îc sö dông kÕt hîp víi nhau (HAVING ®­îc sö dông kh«ng kÌm víi GROUP BY cê thÓ t¹o ra nh÷ng kÐt qu¶ nhÌm lĨn)..
- Do ®ê, chóng th­íng ®­îc sö dông víi GROUP BY.
- C¸c hµm gĩp cê thÓ xuÍt hiÖn trong mĩt dang s¸ch chôn hay trong mÖnh ®Ò HAVING, nh­ng kh«ng ®­îc sö dông trong mÖnh ®Ò WHERE..
- Ta cê thÓ sö dông c¸c hµm gĩp d­íi ®©y víi GROUP BY (Trong ®ê expression lµ mĩt tªn cĩt)..
- ®Ò HAVING sÏ kh«ng cê nghÜa nÕu nh­ kh«ng sö dông kÕt hîp víi mÖnh ®Ò WHERE.
- Cê mĩt ®iÓm kh¸c biÖt gi÷a HAVING vµ WHERE lµ trong ®iÒu kiÖn t×m kiÕm cña WHERE kh«ng ®­îc cê c¸c hµm gĩp trong khi HAVING l¹i cho phÐp sö dông c¸c hµm gĩp trong ®iÒu kiÖn t×m kiÕm cña m×nh.
- ViÖc sö dông c¸c thñ tôc l­u tr÷ bªn trong c¬ sị d÷ liÖu sÏ mang l¹i nh÷ng lîi Ých sau:.
- Thñ tôc l­u tr÷ ®­îc ph©n tÝch, tỉi ­u vµ biªn dÞch khi t¹o ra nªn viÖc thùc thi chóng nhanh h¬n nhiÒu so víi viÖc sö dông mĩt tỊp c¸c c©u lÖnh giao t¸c SQL theo nh÷ng c¸ch th«ng th­íng..
- Thñ tôc l­u tr÷ cho phÐp chóng ta thùc hiÖn cïng mĩt yªu cÌu b»ng mĩt c©u lÖnh ®¬n gi¶n thay v× ph¶i sö dông nhiÒu dßng lÖnh SQL.
- Thay v× cÍp ph¸t quyÒn trùc tiÕp cho ng­íi sö dông trªn c¸c c©u lÖnh SQL, ta cê thÓ cÍp ph¸t quyÒn cho ng­íi sö dông th«ng qua c¸c thñ tôc l­u tr÷, nhí.
- §Ó t¹o mĩt sp, ta sö dông c©u lÖnh CREATE PROCEDURE cê có ph¸p nh­ sau:.
- Gi¸ trÞ nµy, cê thÓ lµ h»ng bÍt kú, sÏ ®­îc lÍy lµm tham sỉ cña thñ tôc khi ng­íi sö dông kh«ng cung cÍp gi¸ trÞ cho tham sỉ khi gôi thñ tôc..
- Trong tr­íng hîp nµy, nÕu ng­íi sö dông kh«ng cung cÍp tham sỉ, SQL Server sÏ thi hµnh thñ tôc theo c¸c tham sỉ kh¸c..
- nÕu thñ tôc sö dông tham sỉ víi tõ khêa LIKE..
- Gi¸ trÞ tr¶ vÒ do ng­íi sö dông ®Þnh nghÜa.
- Ng­íi sö dông cê thÓ ®Þnh nghÜa c¸c gi¸ trÞ tr¶ vÒ cña m×nh trong c¸c thñ tôc l­u tr÷ b»ng c¸ch bư sung mĩt tham sỉ vµo c©u lÖnh RETURN.
- TÍt c¶ c¸c sỉ nguyªn ngo¹i trõ c¸c gi¸ trÞ dµnh riªng cho hÖ thỉng ®Òu cê thÓ ®­îc sö dông..
- Khi c¶ hai c©u lÖnh CREATE PROCEDURE vµ EXECUTE chøa môc chôn OUTPUT cho tªn mĩt tham sỉ, thñ tôc cê thÓ sö dông mĩt biÕn ®Ó tr¶ vÒ trÞ cña tham sỉ ®ê ®Õn ng­íi gôi.
- B»ng viÖc sö dông tõ kho¸ OUTPUT, bÍt cø sù thay ®ưi nµo ®Õn còng vĨn cßn gi÷ l¹i sau khi thñ tôc ®­îc thùc hiÖn, vµ c¸c biÕn cê thÓ ®­îc sö dông trong c¸c c©u lÖnh SQL bư sung sau ®ê trong tỊp lÖnh hay thñ tôc ®­îc gôi.
- Mĩt thñ tôc l­u tr÷ cê thÓ sö dông bÍt kú hoƯc tÍt c¶ kh¶ n¨ng sau ®Ó tr¶ vÒ:.
- C¸c qui t¾c sö dông cho sp.
- Bªn trong mĩt thñ tôc, tªn c¸c ®ỉi t­îng ®­îc sö dông víi c©u lÖnh ALTER TABLE, CREATE TABLE, DROP TABLE, TRUNCATE TABLE, CREATE INDEX, DROP INDEX, UPDATE STATISTICS vµ DBCC ph¶i ®­îc x¸c ®Þnh víi tªn cña ng­íi sị h÷u ®ỉi t­îng (object owner’s name) nÕu nh­ nh÷ng ng­íi dïng (user) kh¸c sö dông thñ tôc.
- ®Þnh tªn cña b¶ng cña m×nh khi nê ®­îc sö dông víi mĩt trong nh÷ng c©u lÖnh nµy nÕu c« ta muỉn nh÷ng user kh¸c cê thÓ thùc hiÖn thñ tôc mµ trong ®ê b¶ng ®­îc sö dông..
- Sö dông thñ tôc:.
- Ng­íi sị h÷u CSDL cê thÓ thay ®ưi tªn cña bÍt kú thñ tôc nµo cña ng­íi sö dông.
- §Ó cê ®­îc b¸o c¸o vÒ nh÷ng ®ỉi t­îng ®­îc tham chiÕu bịi mĩt thñ tôc, ta sö dông thñ tôc hÖ thỉng: sp_depends..
- §Ó xem nĩi dung cña ®Þnh nghÜa mĩt thñ tôc, ta sö dông thñ tôc hÖ thỉng:.
- §Ó xo¸ mĩt thñ tôc, ta sö dông c©u lÖnh:.
- Sö dông c¸c Trigger.
- C¸c trigger th­íng ®­îc sö dông cho viÖc Ðp buĩc c¸c qui t¾c lµm viÖc vµ toµn vÑn d÷.
- TÝnh toµn vÑn tham chiÕu cê thÓ ®­îc ®Þnh nghÜa b»ng c¸ch sö dông rµng buĩc FOREIGN KEY víi c©u lÖnh CREATE TABLE.
- C¸c trigger ®­îc sö dông trong nh÷ng c¸ch sau:.
- §Ó t¹o míi mĩt trigger, ta sö dông c©u lÖnh cê có ph¸p nh­ sau:.
- AS sql_statements HoƯc sö dông mÖnh ®Ò IF UPDATE:.
- KÕt qu¶ t­¬ng tù ®­îc s¶n sinh víi viÖc sö dông chØ mÖnh ®Ò IF UPDATE(col1).
- §Ó t¹o mĩt trigger kh«ng cho phÐp viÖc chÌn c¸c gi¸ trÞ null ngÌm ®Þnh, ta sö dông:.
- Ta cê thÓ hiÓn thÞ líi ®Þnh nghÜa trigger b»ng c¸ch sö dông thñ tôc sp_helptext..
- DROP TRIGGER mƯc ®Þnh cho phÐp ®ỉi víi ng­íi sö dông b¶ng trigger vµ kh«ng thÓ chuyÓn cho ng­íi kh¸c..
- Ta cê thÓ xêa mĩt trigger b»ng c¸ch sö dông c©u lÖnh DROP TRIGGER.
- C¸c qui t¾c sö dông cho sp ...38

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt