Giáo trình SQL tiếng Việt

THThiNganHang
ダウンロード数: 2
46
0

プレビューを生成中...

資料の内容

1 ページ

Giaïo trçnh thæûc haình SQL *,lv,7+,j€8 64/ 6WUXFWXUHG4XHU\/DQJXDJH OD”QJŒQQJŽ–ŠŽ¤FVŽ•GX£QJFKRFD—FK‹£TXD•Q WU“ F V• GŽ– OL‹£X TXDQ K‹£ 1JŒQ QJŽ– 64/ FKX‰Q ŠŽ¤F ŠŽD UD E•L $16, $PHULFDQ 1DWLRQDO 6WDQGDUGV ,QVWLWXGH YD” ,62 ,QWHUQDWLRQDO 6WDQGDUGV 2UJDQL]DWLRQ Y—L SKL‹Q ED•Q P—L QK‰¢W KL‹£Q QD\ OD” SKL‹Q ED•Q 64/ SKL‹Q ED•Q ŠŽ¤F ŠŽD UD QˆP 0ˆ£FGX”FR—QKL‹žXQJŒQQJŽ–NKD—FQKDXŠŽ¤FŠŽDUDFKRFD—FK‹£TXD•QWU“&6'/ TXDQK‹£64/OD”QJŒQQJŽ–ŠŽ¤FVŽ•GX£QJUŒ¤QJUD–LKL‹£QQD\WURQJU‰¢WQKL‹žXK‹£WKŒ¢QJ &6'/WKŽQJPD£LQKŽ2UDFOH64/6HUYHU'%0LFURVRIW$FFHVV7KŒQJTXD64/ QJŽ”LVŽ•GX£QJFR—WK‹ G‹¡ GD”QJ Š“QK QJK‘D ŠŽ¤F GŽ– OL‹£X WKDR WD—F Y—L GŽ– OL‹£X 0ˆ£W NKD—FЉ\OD”QJŒQQJŽ–FR—W’QKNKDLED—RQ‹QQR—G‹¡VŽ•GX£QJYD”FX–QJYY‰£\PD”WU•Q‹Q SKŒEL‹¢Q *LD—RWULQKQD”\QKˆšPFXQJF‰¢SFKRED£QWD”LOL‹£XWKDPNKD•RWŽQJŠŒ¢LЉž\ŠX•Y‹ž FD—F F‰X O‹£QK JLDR WD—F 64/ VŽ• GX£QJ FKR K‹£ TXD•Q WU“ &6'/ 0LFURVRIW 64/ 6HUYHU *LD—RWUQKEDRJŒžPEŒ¢QFKŽQJ &KŽQJ JL—L WKL‹£X PŒ¤W VŒ¢ F‰X O‹£QK VŽ• GX£QJ WURQJ YL‹£F Š“QK QJK‘D FD—F ŠŒ¢L WŽ¤QJGŽ–OL‹£XQKŽED•QJGŽ–OL‹£XNKXQJQKQYD”FKPX£F &KŽQJ WUQK ED”\ EŒ¢Q F‰X O‹£QK WKDR WD—F GŽ– OL‹£X OD” 6(/(&7 ,16(57 83'$7(YD”'(/(7(WURQJŠR—W‰£SWUXQJFKX•\‹¢X•F‰XO‹£QK6(/(&7 &KŽQJŠ‹žF‰£SŠ‹¢QKDLF‰XO‹£QKŠL‹žXNKL‹QOD”*5$17YD”5(92.(VŽ•GX£QJ WURQJYL‹£FF‰¢SSKD—WYD”KX\•ER•TX\‹žQFX•DQJŽ”LVŽ•GX£QJ&6'/ &KŽQJ JL—L WKL‹£X Y‹ž WKX• WX£F OŽX WUŽ– YD” WULJJHU j‰\ OD” QKŽ–QJ ŠŒ¢L WŽ¤QJ &6'/ŠŽ¤FVŽ•GX£QJQKˆšPWˆQJKL‹£XQˆQJNKLVŽ•GX£QJ&6'/ 7URQJFKŽQJSKX£OX£FFKX—QJWŒLJL—LWKL‹£XF‰¢XWUX—FYD”GŽ–OL‹£XFX•DFD—FED•QJVŽ• GX£QJWURQJFD—FY’GX£•FKŽQJŠ‹ED£QWL‹£QWUDFŽ—XYD”ŠŒ¢LFKL‹¢XY—LFD—FY’GX£ŠD–Q‹X 1JRD”LUDWURQJFKŽQJQD”\FR”QFR—FD—FKD”PWKŽ”QJVŽ•GX£QJWURQJ64/6HUYHUŠ‹žFD—F ED£QWKDPNKD•RWURQJWKŽ£FKD”QK 0ˆ£FGX”ŠD–U‰¢WFŒ¢JˆQJQKŽQJJLD—RWUQKNKŒQJWK‹WUD—QKŠX¤FFD—FVDLVR—W5‰¢W PRQJQK‰£QŠŽ¤FVŽ£JR—S\—FX•DFD—FED£QŠ‹ JLD—RWUQKQJD”\FD”QJKRD”QWKL‹£QKQ 7UDQJ ThiNganHang.com

2 ページ

Tráön Nguyãn Phong ChChææåånngg 11:: NNGGÄÄNN NNGGÆÆÎÎ ÂÂËËNNHH NNGGHHÉÉAA DDÆÆÎÎ LLIIÃÃÛÛUU 1JŒQQJŽ–Š“QKQJK‘DGŽ–OL‹£XEDRJŒžPFD—FF‰XO‹£QKFKRSKH—SQJŽ”LVŽ•GX£QJŠ“QK QJK‘D&6'/YD”FD—FŠŒ¢LWŽ¤QJWURQJ&6'/QKŽFD—FED•QJFD—FNKXQJQKQFKPX£F 7D›REDQJGˆOL…›X 'Ž–OL‹£XE‹QWURQJPŒ¤W&6'/ŠŽ¤FWŒFKŽ—FOŽXWUŽ–WURQJFD—FED•QJ%‹QWURQJFD—F ED•QJGŽ–OL‹£XŠŽ¤FWŒFKŽ—FGŽ—LGD£QJFD—FGR”QJYD”FD—FFŒ¤W0Œ¡LPŒ¤WGR”QJEL‹XGL‹¡Q PŒ¤WED•QJKLGX\QK‰¢WYD”PŒ¡LPŒ¤WFŒ¤WEL‹XGL‹¡QFKRPŒ¤WWUŽ”QJ &D‘FWKX†œFWŒQKOL…QTXDQ„…šQEDQJ .KLWD£RYD”OD”PYL‹£FY—LFD—FED•QJGŽ–OL‹£XWDF‰žQSKD•LŠ‹\—Š‹¢QFD—FWKXŒ¤FW’QK NKD—FWU‹QED•QJQKŽNL‹XGŽ–OL‹£XFD—FUD”QJEXŒ¤FFD—FNKRD—FD—FTXLWˆF&D—FWKXŒ¤F W’QKQD”\ŠŽ¤FVŽ•GX£QJQKˆšPWD£RUDFD—FUD”QJEXŒ¤FWRD”QYH£QWU‹QFD—FFŒ¤W WUŽ”QJ WU‹Q ED•QJFX–QJQKŽWD£RUDFD—FWRD”QYH£QWKDPFKL‹¢XJLŽ–DFD—FED•QJGŽ–OL‹£XWURQJ&6'/ D.L…˜XGˆOL…›X 0Œ¡LPŒ¤WFŒ¤W WUŽ”QJ FX•DPŒ¤WED•QJŠ‹žXSKD•L WKXŒ¤F YD”R PŒ¤W NL‹X GŽ– OL‹£X QK‰¢W Š“QKŠD–ŠŽ¤FŠ“QKQJK‘DWŽ”WUŽ—F0Œ¡LPŒ¤WNL‹XGŽ–OL‹£XTXLŠ“QK FD—FJLD—WU“GŽ–OL‹£X ŠŽ¤FFKRSKH—SŠŒ¢LY—LFŒ¤WŠR—&D—FK‹£TXD•QWU“&6'/WKŽ”QJFXQJF‰¢SFD—FNL‹XGŽ–OL‹£X FKX‰QQJRD”LUDFR”QFR—WK‹FKRSKH—SQJŽ”LVŽ•GX£QJŠ“QKQJK‘DFD—FNL‹XGŽ–OL‹£XNKD—F GŽ£DWU‹QFD—FNL‹XGŽ–OL‹£XŠD–FR— 'Ž—LЉ\OD”PŒ¤WVŒ¢NL‹ XGŽ–OL‹£XWKŽ”QJŠŽ¤FVŽ•GX£QJWURQJJLDRWD—F64/ Binary Int Smallint Bit Money Smallmoney Char Nchar Text Datetime Ntext Tinyint Decimal Nvarchar Varbinary Float Real Varchar Image Smalldatetime E&D‘FUDŽQJEX†œF &21675$,176 7U‹QFD—FED•QJGŽ–OL‹£XFD—FUD”QJEXŒ¤FŠŽ¤FVŽ•GX£QJQKˆšPFD—FPX£FŠ’FKVDX • 4XLŠ“QKFD—FJLD—WU“GŽ–OL‹£XKD\NKXŒQGD£QJGŽ–OL‹£XŠŽ¤FFKRSKH—SFK‰¢SQK‰£QWU‹Q FD—FFŒ¤WFX•DED•QJ UD”QJEXŒ¤F&+(&. • 4XLŠ“QKJLD—WU“Pˆ£FŠ“QKFKRFD—FFŒ¤W UD”QJEXŒ¤F'()$8/7 ThiNganHang.com

3 ページ

Giaïo trçnh thæûc haình SQL • 7D£RQ‹QW’QKWRD”QYH£QWKŽ£FWK‹WURQJPŒ¤WED•QJGŽ–OL‹£XYD”WRD”QYH£QWKDPFKL‹¢XJLŽ–D FD—F ED•QJ GŽ– OL‹£X WURQJ &6'/ UD”QJ EXŒ¤F 35,0$5< .(< 81,48( YD” )25(,*1.(< &KX—QJWDVH–WPKL‹XFKLWL‹¢WKQY‹žFD—FUD”QJEXŒ¤FQD”\•SK‰žQWUQKED”\Y‹žF‰XO‹£QK &5($7(7$%/( 7D›REDQJE‚“QJWUX\YƒšQ64/ 7D£RFD—FED•QJOD”PŒ¤WNK‰XTXDQWURQJWUR¤QJWURQJTXD—WUQKWKL‹¢WN‹¢YD”FD”LGˆ£W FD—F&6'/%‹QWURQJFD—F&6'/PŒ¡LPŒ¤WED•QJWKŽ”QJŠŽ¤FVŽ•GX£QJQKˆšPEL‹XGL‹¡Q WKŒQJWKLY‹žFD—FŠŒ¢LWŽ¤QJWURQJWK‹¢JL—LWKŽ£FYD”KRˆ£FEL‹XGL‹¡QPŒ¢LTXDQK‹£JLŽ–DFD—F ŠŒ¢LWŽ¤QJŠR—j‹FR—WK‹WŒFKŽ—FWŒ¢WPŒ¤WED•QJGŽ–OL‹£XED£Q’WQK‰¢WF‰žQSKD•L[D—FŠ“QK ŠŽ¤FFD—F\‹XF‰žXVDX • %D•QJŠŽ¤FVŽ•GX£QJQKˆšPPX£FŠ’FKJYD”FR—YDLWUR”QKŽWK‹¢QD”RE‹QWURQJ&6'/" • %D•QJVH–EDRJŒžPQKŽ–QJFŒ¤WQD”RYD”NL‹XGŽ–OL‹£XFKRFD—FFŒ¤WŠR—OD”J" • 1KŽ–QJFŒ¤WQD”RFKRSKH—SFK‰¢SQK‰£QJLD—WU“18// • &R—VŽ•GX£QJFD—FUD”QJEXŒ¤FFD—FPˆ£FŠ“QKKD\NKŒQJYD”Q‹¢XFR—WKVŽ•GX£QJ•ЉXYD” QKXWK‹¢QD”R" • 1KŽ–QJFŒ¤WQD”RVH–ŠR—QJYDLWUR”OD”NKRD—FK’QKNKRD—QJRD”LNKRD—GX\QK‰¢W"1KŽ–QJ GD£QJFKPX£FQD”ROD”F‰žQWKL‹¢WYD”F‰žQ•ЉX D7D›REDQJGˆOL…›X j‹WD£RPŒ¤W ED•QJ WURQJ &6'/ ED£Q VŽ• GX£QJ F‰X O‹£QK &5($7( 7$%/( FR— FX— SKD—SQKŽVDX CREATE TABLE table_name ( {colname_1 col_1_properties [constraints_1 ] [,{colname_2 col_2_properties [constraints_2 ]] ... [,{colname_N col_N_properties [constraints_N ]] [table_constraints] ) 7URQJ„R‘ - table_name: 7‹Q ED•QJ F‰žQ WD£R 7‹Q FX•D ED•QJ SKD•L GX\ QK‰¢W WURQJPŒ¡L&6'/YD”SKD•LWX‰QWKHRFD—FTXLWˆFY‹ž Š“QKGDQK - colname_i: 7‹QFX•DFŒ¤WWKŽ—LWURQJED•QJ&D—FFŒ¤WWURQJPŒ¡L 7UDQJ ThiNganHang.com

4 ページ

Tráön Nguyãn Phong ED•QJSKD•LFR—W‹QNKD—FQKDXYD”SKD•LWX‰QWKHRFD—F TXL WˆF Y‹ž Š“QK GDQK 0Œ¡L PŒ¤W ED•QJ SKD•L FR— ’W QK‰¢WPŒ¤WFŒ¤W - col_i_properties: &D—FWKXŒ¤FW’QKFX•DFŒ¤WWKŽ—LTXLŠ“QKNL‹XGŽ–OL‹£X FX•D FŒ¤W YD” FK Š“QK FŒ¤W FR— FKR SKH—S FK‰¢S QK‰£Q JLD—WU“18//KD\NKŒQJ - constraints_i: &D—F UD”QJ EXŒ¤F Q‹¢X FR— WU‹Q FŒ¤W WKŽ— L QKŽ FD—F UD”QJEXŒ¤FY‹žNKRD—FD—FPˆ£FŠ“QKFD—FTXLŠ“QKY‹ž NKXŒQGD£QJGŽ–OL‹£X - table_constraint: &D—FUD”QJEXŒ¤FWU‹QED•QJGŽ–OL‹£X 9ŒGX›&‰XO‹£QKGŽ—LЉ\WKŽ£FKL‹£QKYL‹£FWD£RED•QJ1+$19,(1EDRJŒžPFD—FFŒ¤W 0$19+27(11*$<6,1+',$&+,',(17+2$, CREATE TABLE nhanvien ( manv char(10) not null, hoten char(30) not null, ngaysinh datetime null, diachi char(50) null, dienthoai char(6) null ) E6ˆGX›QJFD‘FUDŽQJEX†œFWURQJEDQJGˆOL…›X DDDD5DŽQJEX†œF&+(&. 5D”QJEXŒ¤F&+(&.ŠŽ¤FVŽ•GX£QJŠ‹FKŠ“QKFD—FJLD—WU“KD\NKXŒQGD£QJGŽ–OL‹£X FR— WK‹ ŠŽ¤F FK‰¢S QK‰£Q ŠŒ¢L Y—L PŒ¤W FŒ¤W 7U‹Q PŒ¤W FŒ¤W FR— WK‹ FR— QKL‹žX UD”QJ EXŒ¤F &+(&.j‹NKDLED—RPŒ¤WUD”QJEXŒ¤F&+(&.ŠŒ¢LY—LPŒ¤WFŒ¤WQD”RŠR—WDVŽ•GX£QJFX— SKD—SQKŽVDX [CONSTRAINT constraint_name] CHECK (expression) 7URQJŠR—H[SUHVVLRQOD”PŒ¤WEL‹XWKŽ—FORJLFTXLŠ“QKJLD—WU“KD\NKXŒQGD£QJFX•DGŽ– OL‹£XŠŽ¤FFKRSKH—S.KLŠR—FKQKŽ–QJJLD—WU“GŽ–OL‹£XQD”ROD”PFKRH[SUHVVLRQQK‰£QJLD— WU“ŠX—QJP—LŠŽ¤FFK‰¢SQK‰£Q 9ŒGX›j‹TXLŠ“QKŠL‹£QWKRD£LFX•DQK‰QYL‹QSKD•LFR—GD£QJ FKˆ›QJ KD£Q F‰XO‹£QK•Y’GX£ŠŽ¤FYL‹¢WQKŽVDX CREATE TABLE nhanvien ( ThiNganHang.com

5 ページ

Giaïo trçnh thæûc haình SQL manv char(10) not null, hoten char(30) not null, ngaysinh datetime null, diachi char(50) null, dienthoai char(6) null constraint check_dienthoai check (dienthoai like '[0-9][0-9][0-9] [0-9][0-9] [0-9]') ) DDDD5DŽQJEX†œF'()$8/7 5D”QJEXŒ¤F'()$8/7ŠŽ¤FVŽ•GX£QJŠ‹TXLŠ“QKJLD—WU“Pˆ£FŠ“QKFKRPŒ¤WFŒ¤W *LD—WU“QD”\VH–WŽ£ŠŒ¤QJŠŽ¤FJD—QFKRFŒ¤WQD”\NKLQJŽ”LVŽ•GX£QJEŒ VXQJPŒ¤WED•QJKL PD”NKŒQJFKŠ“QKJLD—WU“FKR FŒ¤W 7U‹Q PŒ¡L FŒ¤W FK FR— WK‹ FR— QKL‹žX QK‰¢W PŒ¤W UD”QJ EXŒ¤F'()$8/7 WŽ—FOD”FKFR—WK‹FR—WŒ¢LŠDPŒ¤WJLD—WU“Pˆ£FŠ“QK j‹ NKDL ED—R PŒ¤W JLD— WU“ Pˆ£F Š“QK FKR PŒ¤W FŒ¤W WD FK Š“QK PŒ¤W UD”QJ EXŒ¤F '()$8/7FKRFŒ¤WEˆšQJFD—FKVŽ•GX£QJFX—SKD—SVDX [CONSTRAINT constraint_name] DEFAULT {const_expression  nonarguments_function  NULL} 9Œ GX› &‰X O‹£QK GŽ—L Љ\ FK Š“QK JLD— WU“ Pˆ£F Š“QK OD” NKŒQJ EL‹¢W FKR FŒ¤W ',$&+,WURQJED•QJ1+$19,(1•Y’GX£ CREATE TABLE nhanvien ( manv char(10) not null, hoten char(30) not null, ngaysinh datetime null, diachi char(50) default 'khäng biãút', dienthoai char(6) null ) DDDD5DŽQJEX†œF35,0$5<.(< muY’GX£QD”\FKX—QJWŒLNKŒQJŠˆ£WW‹QFKRUD”QJEXŒ¤F'()$8/7.KLŠR—K‹£TXD•QWU“&6'/VH–WŽ£ŠŒ¤QJŠˆ£WW‹Q FKRUD”QJEXŒ¤FQD”\7X\QKL‹QŠ‹G‹¡GD”QJFKRYL‹£FTXD•QWU“ED£QQ‹QŠˆ£WW‹QFKRFD—FUD”QJEXŒ¤F 7UDQJ ThiNganHang.com

6 ページ

Tráön Nguyãn Phong 5D”QJEXŒ¤F35,0$5<.(<ŠŽ¤FVŽ•GX£QJЋГQKQJK‘DNKRD—FK’QKFX•DED•QJ 0Œ¤WUD”QJEXŒ¤F35,0$5<.(< ŠD•PED•RUˆšQJ NKŒQJ FR— FD—F JLD— WU“ WUX”QJ Oˆ£S ŠŽ¤F ŠŽDYD”RWU‹QFD—F FŒ¤W +D\ QR—L FD—FK NKD—F JLD— WU“ FX•D NKRD— FK’QK VH– JLX—S FKR WD [D—F Š“QKŠŽ¤FGX\QK‰¢WPŒ¤WGR”QJ ED•QJKL WURQJED•QJGŽ–OL‹£X0Œ¡LPŒ¤WED•QJFKFR—WK‹ FR—GX\QK‰¢WPŒ¤WNKRD—FK’QKYD”ED•QWK‰QNKRD—FK’QKNKŒQJFK‰¢SQK‰£QJLD—WU“18// 5D”QJEXŒ¤F35,0$5<.(<OD”FV•FKRYL‹£FŠD•PED•RW’QKWRD”QYH£QWKŽ£FWK‹FX–QJ QKŽWRD”QYH£QWKDPFKL‹¢X j‹NKDLED—RPŒ¤WUD”QJEXŒ¤F35,0$5<.(<ED£QVŽ•GX£QJFX—SKD—SVDX [CONSTRAINT constraint_name ] PRIMARY KEY [CLUSTERED|NONCLUSTERED] [( colname [,colname2 [...,colname16]])] 1‹¢XNKRD—FK’QKFX•DPŒ¤WED•QJFKOD”PŒ¤WFŒ¤WNKLŠR—ED£QNKŒQJF‰žQWKL‹¢WSKD•LFK Š“QKGDQKVD—FKFD—FFŒ¤W VŽ•GX£QJUD”QJEXŒ¤F•PŽ—FFŒ¤W 7URQJWUŽ”QJK¤SNKRD—FK’QK OD”PŒ¤WW‰£SK¤SWŽ”KDLFŒ¤WWU•O‹QED£QSKD•LFKŠ“QKGDQKVD—FKFD—FFŒ¤W VŽ•GX£QJUD”QJ EXŒ¤F•PŽ—FED•QJ 9ŒGX›WD£RED•QJ1+$19,(1Y—LNKRD—FK’QKOD”0$19 CREATE TABLE nhanvien ( manv char(10) primary key, hoten char(30) not null, ngaysinh datetime null, diachi char(50) null, dienthoai char(6) null ) F‰XO‹£QKWU‹QFR—WK‹YL‹¢WQKŽVDX CREATE TABLE nhanvien ( manv char(10) not null, hoten char(30) not null, ngaysinh datetime null, diachi char(50) null, dienthoai char(6) null constraint pk_nv primary key(manv) ) ThiNganHang.com

7 ページ

Giaïo trçnh thæûc haình SQL D 5DŽQJEX†œF81,48( 7KD\ Y VŽ• GX£QJ NKRD— FK’QK ED£Q FR— WK‹ VŽ• GX£QJ UD”QJ EXŒ¤F 81,48( Š‹ ŠD•P ED•RW’QKWRD”QYH£QWKŽ£FWK‹6Ž•GX£QJUD”QJEXŒ¤F81,48(WU‹QPŒ¤W KD\QKL‹žX FŒ¤WEˆW EXŒ¤FFD—FJLD—WU“GŽ–OL‹£XWU‹QPŒ¤W KD\QKL‹žX FŒ¤WQD”\NKŒQJŠŽ¤FWUX”QJOˆ£SQKDXj‹ NKDLED—RPŒ¤WUD”QJEXŒ¤F81,48(ED£QVŽ•GX£QJFX—SKD—SO‹£QKVDXЉ\ [CONSTRAINT constraint_name] UNIQUE [CLUSTERED | NONCLUSTERED] [colname1 [,colname2 [...,colname16]])] D 5DŽQJEX†œF)25(,*1.(< &D—FED•QJE‹QWURQJPŒ¤W&6'/WKŽ”QJFR—PŒ¢LTXDQK‹£Y—LQKDX&D—FPŒ¢LTXDQ K‹£QD”\ŠŽ¤F[D—FŠ“QKGŽ£DWU‹QW’QK EˆšQJQKDXJLŽ–DPŒ¤WKD\QKL‹žXWUŽ”QJFX•D ED•QJ QD”\Y—LPŒ¤WKD\QKL‹ž”XWUŽ”QJFX•DED•QJNKD—F1‹¢XPŒ¤W KD\QKL‹žX FŒ¤WQD”RŠR—FX•DPŒ¤W ED•QJFR—JLD—WU“ŠŽ¤F[D—FŠ“QKWŽ”PŒ¤W KD\QKL‹žX WUŽ”QJNKRD—FX•DED•QJNKD—FWKFD—F FŒ¤WŠR—ŠŽ¤FJR¤LOD”FR—UD”QJEXŒ¤FNKRD—QJRD£L IRUHLJQNH\ &D—FUD”QJEXŒ¤F)25(,*1 .(<ŠŽ¤FVŽ•GX£QJN‹¢WK¤SY—LFD—FUD”QJEXŒ¤F35,0$5<.(<YD”81,48(QKˆšP ŠD•PED•RW’QKWRD”QYH£QWKDPFKL‹¢XJLŽ–DFD—FED•QJŠŽ¤FFKŠ“QK j‹NKDLED—RNKRD—QJRD£LED£QVŽ•GX£QJFX—SKD—SO‹£QKQKŽVDX [CONSTRAINT constraint_name ] [FOREIGN KEY (colname [,colname2 [...,colname16]])] REFERENCES reference_table [(ref_colname [,ref_colname2 [...,ref_colname 16]])] 9Œ GX› 7D£R KDL ED•QJ 1+$19,(1 0$19 +27(1 1*$<6,1+ ',$&+, ',(17+2$,0$'9 YD”'219, 0$'97(1'9 WKHRŠŒžKQKGŽ—LЉ\ 1+$19,(1 ∞∞∞∞ '219, 0$19 0$'9 +27(1 7(1'9 1*$<6,1+ ',$&+, ',(17+2$, 0$'9 +QK CREATE TABLE donvi ( 7UDQJ ThiNganHang.com

8 ページ

Tráön Nguyãn Phong madv char(2) primary key, tendv char(20) not null ) CREATE TABLE nhanvien ( manv char(10) primary key, hoten char(20) not null, ngaysinh datetime null, diachi char(50) default 'khong biet', dienthoai char(6) check(dienthoai like '[0-9][0-9][0-9] [0-9][0-9][0-9]'), madv char(2) foreign key(madv) references donvi(madv) ) 6ˆD„†˜LEDQJ 6DXNKLŠD–WD£RED•QJED£QFR—WK‹WL‹¢QKD”QKVŽ•DŠŒLF‰¢XWUX—FKD\WKXŒ¤FW’QKFX•D ED•QJ QKŽ EŒ VXQJ FŒ¤W EŒ VXQJ NKRD— WKD\ ŠŒL FD—F UD”QJ EXŒ¤F j‹ FR— WK‹ VX•D ŠŒL ED•QJED£QVŽ•GX£QJF‰XO‹£QK$/7(5FR—FX—SKD—SQKŽVDX ALTER TABLE table_name [ADD {col_name column_properties [column_constraints]  [[,]table_constraint ] } [,{next_col_name|next_table_constraint}]...] [DROP [CONSTRAINT] constraint_name1 [, constraint_name2]...] 9ŒGX›7D£RPŒ¤WUD”QJEXŒ¤FFKRED•QJ'219,WU‹QFŒ¤W0$'9TXLŠ“QKPD–ŠQY“ SKD•LFR—GD£QJKDLFKŽ–VŒ¢ Y’GX£ ALTER TABLE donvi ADD CONSTRAINT check_madv CHECK (madv LIKE ‘[0-9][0-9]’) ThiNganHang.com

9 ページ

Giaïo trçnh thæûc haình SQL &KŠPX›F LQGH[ &D—FFKPX£FŠŽ¤FVŽ•GX£QJQKˆšPKŒ¡WU¤YL‹£FWUX\F‰£SŠ‹¢QFD—FGR”QJGŽ–OL‹£XŠŽ¤F QKDQKFKR—QJGŽ£DWU‹QFD—FJLD—WU“FX•DPŒ¤WKD\QKL‹žXFŒ¤W&KPX£FŠŽ¤FFKLDUDOD”PKDL ORD£L FK PX£F WX£ QKR—P FOXVWHUHG LQGH[ YD” FK PX£F NKŒQJ WX£ QKR—P QRQFOXVWHUHG LQGH[ • 0Œ¤WFKPX£FWX£QKR—POD”PŒ¤WFKPX£FPD”WURQJŠR—WKŽ—WŽ£ORJLFFX•DFD—FNKRD—WŽQJ WŽ£QKŽWKŽ—WŽ£Y‰£WO\—FX•DFD—FGR”QJWŽQJŽ—QJWŒžQWD£LWURQJED•QJ0Œ¤WED•QJFKFR— WK‹ FR—WŒ¢LŠDPŒ¤WFKPX£FWX£QKR—P • 0Œ¤WFKPX£FNKŒQJWX£KR—POD”PŒ¤WFKPX£FPD”WURQJŠR—WKŽ—WŽ£ORJLFFX•DFD—FNKRD— NKŒQJQKŽWKŽ—WŽ£Y‰£WO\—FX•DFD—FGR”QJWURQJED•QJ&D—FFKPX£FWX£QKR—PKŒ¡WU¤YL‹£F WUX\F‰£SŠ‹¢QFD—FGR”QJGŽ–OL‹£XQKDQKKQQKL‹žXVRY—LFD—FFKPX£FNKŒQJWX£QKR—P .KLWDNKDLED—RPŒ¤WNKRD—FK’QKKD\NKRD—81,48(WU‹QPŒ¤WKD\QKL‹žXFŒ¤WQD”RŠR— FX•DED•QJK‹£TXD•QWU“&6'/VH–WŽ£ŠŒ¤QJWD£RFKPX£FWU‹QFD—FFŒ¤WŠR—%D£QFR—WK‹WD£R WK‹PFD—FFKPX£FNKD—FEˆšQJFD—FKVŽ•GX£QJF‰XO‹£QKFR—FX—SKD—SQKŽVDX CREATE [CLUSTEREDNONCLUSTERED] INDEX index_name ON table_name(column_name [, column_name]...) 9ŒGX›&‰XO‹£QKGŽ—LЉ\VH–WD£RPŒ¤WFKPX£FNKŒQJWX£QKR—PWU‹QFŒ¤W0$'9FX•D ED•QJ1+$19,(1 CREATE NONCLUSTERED INDEX idx_nhanvien_madv ON nhanvien(madv) .KXQJQK‰Q 9LHZ 0Œ¤WNKXQJQKQFR—WK‹ FRLQKŽOD”PŒ¤WeED•QJD•RfFR—QŒ¤LGXQJŠŽ¤F[D—FŠ“QKWŽ” PŒ¤W WUX\ Y‰¢Q 0Œ¤W WUX\ Y‰¢Q TXHU\ OD” PŒ¤W W‰£S FD—F FK G‰¡Q LQVWUXFWLRQ QKˆšP WUX\ [X‰¢WYD”KL‹QWK“GŽ–OL‹£XWŽ”FD—FED•QJWURQJ&6'/&D—FWUX\Y‰¢QŠŽ¤FWKŽ£FKL‹£QEˆšQJ FD—FKVŽ•GX£QJF‰XO‹£QK6(/(&7 ŠŽ¤FŠ‹žF‰£SŠ‹¢QWURQJFKŽQJ 0Œ¤WNKXQJQKQWURQJJLŒ¢QJQKŽPŒ¤WED•QJY—LPŒ¤WW‰£RFD—FW‹QFŒ¤WYD”FD—FGR”QJ GŽ–OL‹£X7X\QKL‹QNKXQJQKQNKŒQJWŒžQWD£LQKŽOD”PŒ¤WF‰¢XWUX—FOŽXWUŽ–GŽ–OL‹£XWURQJ &6'/'Ž–OL‹£XE‹QWURQJNKXQJQKQWKŽ£FFK‰¢WOD”GŽ–OL‹£XŠŽ¤F[D—FŠ“QKWŽ”PŒ¤WKD\ QKL‹žXED•QJFV•YD”GRŠR—SKX£WKŒ¤FYD”RFD—FED•QJFV• &D—FNKXQJQKQWKŽ”QJŠŽ¤FVŽ•GX£QJE‹QWURQJ&6'/QKˆšPFD—FPX£FŠ’FKVDX Љ\ • 6Ž•GX£QJNKXQJQKQŠ‹W‰£SWUXQJWU‹QGŽ–OL‹£XŠŽ¤F[D—FŠ“QK 7UDQJ ThiNganHang.com

10 ページ

Tráön Nguyãn Phong • 6Ž•GX£QJNKXQJQKQŠ‹ŠQJLD•QKRD—WKDRWD—FGŽ–OL‹£X • 6Ž•GX£QJNKXQJQKQŠ‹WX\”EL‹¢QGŽ–OL‹£X • 6Ž•GX£QJNKXQJQKQŠ‹[X‰¢WNK‰X H[SRUW GŽ–OL‹£X • 6Ž•GX£QJNKXQJQKQŠ‹ED•RP‰£WGŽ–OL‹£X j‹WD£RNKXQJQKQED£QVŽ•GX£QJF‰XO‹£QKFR—FX—SKD—SQKŽVDX CREATE VIEW view_name[(column_name [, column_name]...)] AS select_statement 7URQJŠR—VHOHFWBVWDWHPHQWOD”PŒ¤WF‰XO‹£QK6(/(&7GX”QJŠ‹WUX\[X‰¢WGŽ–OL‹£XWŽ” PŒ¤WKD\QKL‹žXED•QJ .KLWD£RNKXQJQKQF‰žQOŽX\—PŒ¤WVŒ¢ŠL‹PVDX • 7‹QNKXQJQKQSKD•LWX‰QWKHRFD—FTXLWˆFY‹žŠ“QKGDQKYD”SKD•LGX\QK‰¢WŠŒ¢LY—L PŒ¡LQJŽ”LVŽ•GX£QJ • .KŒQJWK‹UD”QJEXŒ¤FFD—FPˆ£FŠ“QKFD—FTXLWˆFFKRNKXQJQKQ • .KŒQJWK‹[‰\GŽ£QJFKPX£FFKRNKXQJQKQ • 7URQJF‰XO‹£QK&5($7( 9,(:NKŒQJF‰žQ WKL‹¢W SKD•L FK Š“QK W‹Q FŒ¤W 7‹Q FX•D FD—FFŒ¤WFX–QJQKŽNL‹XGŽ–OL‹£XFX•DFKX—QJVH–WŽQJŽ—QJY—LFD—FFŒ¤WWURQJGDQKVD—FK FKR¤QFX•DF‰XO‹£QK6(/(&7 • %D£QSKD•L[D—FŠ“QKW‹QFŒ¤WWURQJF‰X O‹£QK&5($7( 9,(:WURQJFD—FWUŽ”QJK¤S VDX − 0Œ¡LFŒ¤WFX•DNKXQJQKQŠŽ¤FSKD—WVLQKWŽ”PŒ¤WEL‹XWKŽ—FVŒ¢KR¤FPŒ¤WKD”PFD”L VˆœQKD\PŒ¤WKˆšQJ − +DLKD\QKL‹žXFŒ¤WFX•DNKXQJQKQFR—WUX”QJW‹Q − %D£QPXŒ¢QWKD\ŠŒLW‹QFŒ¤WWURQJNKXQJQKQNKD—FY—LW‹QFŒ¤WFX•DED•QJFV• 9ŒGX›&‰XO‹£QKGŽ—LЉ\VH–E“OŒ¡LGRW‹QFX•DFŒ¤WWKŽ—NKŒQJ[D—FŠ“QKŠŽ¤F CREATE VIEW thongtin_nv AS SELECT manv,hoten,datediff(year,ngaysinh,getdate()),tendv FROM nhanvien,donvi WHERE nhanvien.madv=donvi.madv j‹F‰XO‹£QKWU‹QFR—WK‹WKŽ£FKL‹£QŠŽ¤FED£QSKD•LŠˆ£WW‹QFKRFD—FFŒ¤WFX•DNKXQJQKQ QKŽVDX CREATE VIEW thongtin_nv(manv,hoten,tuoi,donvi) ThiNganHang.com

11 ページ

Giaïo trçnh thæûc haình SQL AS SELECT manv,hoten,datediff(year,ngaysinh,getdate()),tendv FROM nhanvien,donvi WHERE nhanvien.madv=donvi.madv Z Y 7UDQJ ThiNganHang.com

12 ページ

Tráön Nguyãn Phong ChChææåånngg 22:: NNGGÄÄNN NNGGÆÆÎÎ TTHHAAOO TTAAÏÏCC DDÆÆÎÎ LLIIÃÃÛÛUU 1JŒQQJŽ–WKDRWD—FGŽ–OL‹£XFXQJF‰¢SFKRQJŽ”LVŽ•GX£QJNKD•QˆQJWL‹¢QKD”QKFD—F WKDRWD—FWUX\[X‰¢WEŒVXQJF‰£SQK‰£WYD”[RD—GŽ–OL‹£X1JŒQQJŽ–WKDRWD—FGŽ–OL‹£XEDR JŒžPFD—FF‰XO‹£QK6(/(&7,16(5783'$7(YD”'(/(7( 7UX\[XƒšWGˆOL…›X §Ó 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. C©u lÖnh nμy cã thÓ dïng ®Ó thùc hiÖn phÐp chän (tøc lμ truy xuÊt mét tËp con c¸c dßng trong mét hay nhiÒu b¶ng), phÐp chiÕu (tøc lμ truy xuÊt mét tËp con c¸c cét trong mét hay nhiÒu b¶ng) vμ phÐp nèi (tøc lμ liªn kÕt c¸c dßng trong hai hay nhiÒu b¶ng ®Ó truy xuÊt d÷ liÖu). Có ph¸p chung cña c©u lÖnh SELECT cã d¹ng nh sau: SELECT [ ALL | DISTINCT ] select_list [ INTO [ newtable_name ]] FROM { table_name | view_name } ................ [,{table_name | view_name }] [WHERE clause ] [GROUP BY clause ] [HAVING BY clause ] [ORDER BY clause ] [COMPUTE clause ] Chó ý: C¸c thμnh phÇn trong mét c©u lÖnh SELECT ph¶i ® îc sö dông theo thø tù ® îc nªu trªn. 1.1 X¸c ®Þnh b¶ng b»ng mÖnh ®Ò FROM 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. Sau mÖnh ®Ò FROM lμ danh s¸ch tªn c¸c b¶ng vμ khung nh×n tham gia vμo truy vÊn (tªn cña c¸c b¶ng vμ khung nh×n ® îc ph©n c¸ch nhau bëi dÊu phÈy). SELECT select_list FROM {table_nameview_name list} ThiNganHang.com

13 ページ

Giaïo trçnh thæûc haình SQL §Ó ®¬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. BÝ danh ® îc g¸n trong mÖnh ®Ò FROM b»ng c¸ch chØ ®Þnh bÝ danh sau tªn b¶ng. VÝ dô c©u lÖnh sau g¸n bÝ danh n1 cho b¶ng nhanvien. SELECT ten, diachi FROM nhanvien n1 1.2 MÖnh ®Ò WHERE MÖnh ®Ò WHERE trong c©u lÖnh SELECT x¸c ®Þnh c¸c ®iÒu kiÖn ®èi víi viÖc truy xuÊt d÷ liÖu. Sau mÖnh ®Ò WHERE lμ mét biÓu thøc logic vμ chØ nh÷ng dßng d÷ liÖu nμo tho¶ m∙n biÓu thøc sau WHERE míi ® îc hiÓn thÞ trong kÕt qu¶ truy vÊn. Trong mÖnh ®Ò WHERE th êng sö dông: • C¸c to¸n tö so s¸nh • Giíi h¹n ( BETWEEN vμ NOT BETWEEN). • Danh s¸ch (IN, NOT IN) • Khu«n d¹ng (LIKE vμ NOT LIKE). • C¸c gi¸ trÞ ch a biÕt (IS NULL vμ IS NOT NULL). • KÕt hîp c¸c ®iÒu kiÖn (AND, OR). C¸c to¸n tö so s¸nh: To¸n tö ý nghÜa = B»ng > Lín h¬n < Nhá h¬n >= Lín h¬n hoÆc b»ng <= Nhá h¬n hoÆc b»ng <> Kh¸c !> Kh«ng lín h¬n !< Kh«ng nhá h¬n VÝ dô 2.1: Truy vÊn sau ®©y cho biÕt tªn, ®Þa chØ vμ ®iÖn tho¹i cña nh÷ng nh©n viªn cã hÕ sè l ¬ng lín h¬n 1.92: SELECT ten, diachi, dienthoai FROM nhanvien WHERE hsluong>1.92 Giíi h¹n (BETWEEN vμ NOT BETWEEN) 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. C©u lÖnh d íi ®©y cho biÕt tªn vμ ®ia chØ cña nh÷ng nh©n viªn cã hÖ sè l ¬ng n»m trong kho¶ng 1.92 ®Õn 3.11 SELECT ten, tuoi, diachi FROM nhanvien WHERE hsluong BETWEEN 1.92 AND 3.11 7UDQJ ThiNganHang.com

14 ページ

Tráön Nguyãn Phong Danh s¸ch (IN vμ NOT IN) 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Þ. Sau IN (hoÆc NOT IN) cã thÓ lμ mét danh s¸ch c¸c gi¸ trÞ hoÆc lμ mét c©u lÖnh SELECT kh¸c. VÝ dô 2.2: §Ó hiÓn thÞ th«ng tin vÒ c¸c nh©n viªn cã hÖ sè l ¬ng lμ 1.86, 1.92 hoÆc 2.11, thay v× sö dông c©u lÖnh: SELECT * FROM nhanvien WHERE hsluong=1.86 OR hsluong=1.92 OR hsluong=2.11 Ta cã thÓ sö dông c©u lÖnh sau: SELECT * FROM nhanvien WHERE hsluong IN (1.86, 1.92, 2.11) C¸c ký tù ®¹i diÖn vμ mÖnh ®Ò LIKE 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. Chóng th êng ® îc kÕt hîp víi c¸c ký tù ®¹i diÖn sau ®©y: Ký tù ®¹i diÖn ý nghÜa % Chuçi ký tù bÊt kú gåm kh«ng hoÆc nhiÒu ký tù - Ký tù ®¬n bÊt kú [] Ký tù ®¬n bÊt kú trong giíi h¹n ® îc chØ ®Þnh (vÝ dô [a-f]) hay mét tËp (vÝ dô [abcdef]) [^] Ký tù ®¬n bÊt kú kh«ng n»m trong giíi h¹n ® îc chØ ®Þnh ( vÝ dô [^a-f] hay mét tËp (vÝ dô [^abcdef]). VÝ dô 2.3: C©u lÖnh d íi ®©y hiÓn thÞ th«ng tin vÒ c¸c nh©n viªn cã tªn lμ Nam SELECT * FROM nhanvien WHERE hoten LIKE '% Nam' IS NULL vμ NOT IS NULL Gi¸ trÞ NULL cã thÓ ® îc nhËp vμo mét cét cho phÐp chÊp nhËn gi¸ trÞ NULL theo mét trong ba c¸ch sau: • NÕu kh«ng cã d÷ liÖu ® îc ® a vμo vμ kh«ng cã mÆc ®Þnh cho cét hay kiÓu d÷ liÖu trªn cét ®ã. • Ng êi sö dông trùc tiÕp ® a gi¸ trÞ NULL vμo cho cét ®ã. • Mét cét cã kiÓu d÷ liÖu lμ kiÓu sè sÏ chøa gi¸ trÞ NULL nÕu gi¸ trÞ ® îc chØ ®Þnh g©y trμn sè. Trong mÖnh ®Ò WHERE, ta sö dông IS NULL hoÆc IS NOT NULL nh sau: WHERE col_name IS [NOT] NULL C¸c to¸n tö logic 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. 1.3 Danh s¸ch chän trong c©u lÖnh SELECT ThiNganHang.com

15 ページ

Giaïo trçnh thæûc haình SQL &Kän tÊt c¶ c¸c cét trong b¶ng 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: SELECT * FROM table_name 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 ®∙ ® îc t¹o ra trong c©u lÖnh CREATE TABLE. * Chän c¸c cét ® îc chØ ®Þnh §Ó 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: SELECT tªn_cét [,...,tªn_cét_n] FROM tªn_b¶ng | khung_nh×n C¸c tªn cét trong c©u lÖnh ph¶i ® îc ph©n c¸ch nhau b»ng dÊu phÈy. Chó ý: Trong c©u lÖnh SELECT, thø tù cña c¸c cét ® îc nªu ra trong c©u lÖnh sÏ x¸c ®Þnh thø tù cña c¸c cét ® îc hiÓn thÞ ra trong kÕt qu¶. * §æi tªn c¸c cét trong c¸c kÕt qu¶ Khi kÕt qu¶ ® îc hiÓn thÞ, tiªu ®Ò cña c¸c cét mÆc ®Þnh sÏ lμ tªn cña c¸c cét khi nã ® îc t¹o ra trong c©u lÖnh CREATE TABLE. Tuy nhiªn, ®Ó c¸c tiªu ®Ò trë nªn th©n thiÖn h¬n, ta cã thÓ ®æi tªn c¸c tiªu ®Ò cña c¸c cét. §Ó lμm ® îc viÖc nμy, ta cã thÓ sö dông mét trong hai c¸ch viÕt sau: tiªu_®Ò_cét = tªn_cét hoÆc tªn_cét tiªu_®Ò_cét 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: SELECT 'Hä vμ tªn'=hoten, '§Þa chØ '= diachi FROM nhanvien HoÆc: SELECT hoten 'Hä vμ tªn',diachi '§ia chØ ' FROM nhanvien * 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. VÝ dô 2.5: C©u lÖnh sau cho biÕt hä tªn, hÖ sè l ¬ng vμ xÕp lo¹i l ¬ng cña nh©n viªn theo hÖ sè l ¬ng: SELECT 'Hä vμ tªn' = ten, 'HÖ sè l ¬ng' = hsluong, 'XÕp lo¹i l ¬ng' = CASE WHEN lsluong=NULL THEN 'Kh«ng x¸c ®Þnh' 7UDQJ ThiNganHang.com

16 ページ

Tráön Nguyãn Phong WHEN hsluong<=1.92 THEN 'Lu¬ng thÊp' WHEN hsluong<=3.1 THEN 'L ¬ng TB' WHEN hsluong<=5.2 THEN 'L ¬ng cao' ELSE 'L ¬ng rÊt cao' END FROM Nhanvien * C¸c chuçi ký tù trong kÕt qu¶ Ta cã thÓ thªm c¸c chuçi ký tù vμo bªn trong truy vÊn nh»m thay ®æi c¸ch thøc tr×nh bμy d÷ liÖu. VÝ dô 2.6: C©u lÖnh sau sÏ thªm chuçi ký tù “HÖ sè l ¬ng lμ “ vμo tr íc kÕt qu¶ ë cét møc l ¬ng ë tõng dßng trong kÕt qu¶: SELECT 'Hä vμ tªn' = hoten, 'HÖ sè l ¬ng lμ : ','HÖ sè l ¬ng'=hsluong FROM nhanvien Truy vÊn trªn cho cã kÕt qu¶ cã d¹ng nh sau: Hä vμ tªn HÖ sè l ¬ng ---------------- -------------- ------------- TrÇn Nguyªn Phong HÖ sè l ¬ng lμ : 1.92 Lª Hoμi Nam HÖ sè l ¬ng lμ : 1.86 NguyÔn H÷u T×nh HÖ sè l ¬ng lμ : 1.92 NguyÔn Trung Kiªn HÖ sè l ¬ng lμ : 1.86 NguyÔn ThÞ Hoa HÖ sè l ¬ng lμ : 2.11 Hoμng Nam Phong HÖ sè l ¬ng lμ : 3.21 1.4 TÝnh to¸n c¸c gi¸ trÞ trong c©u lÖnh SELECT Danh s¸ch chän trong c©u lÖnh SELECT cã thÓ cã c¸c biÓu thøc sè häc. Khi ®ã kÕt qu¶ cña biÓu thøc sÏ lμ mét cét trong kÕt qu¶ truy vÊn: VÝ dô 2.7: C©u lÖnh sau cho biÕt hä tªn vμ l ¬ng cña c¸c nh©n viªn SELECT 'Hä vμ tªn'=ten, 'L ¬ng'=hsluong*210000 FROM nhanvien 1.5 Tõ kho¸ DISTINCT 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: SELECT hsluong FROM nhanvien Ta sÏ cã kÕt qu¶ nh sau: ThiNganHang.com

17 ページ

Giaïo trçnh thæûc haình SQL hsluong ----------------- 1.92 1.86 1.92 1.86 2.11 3.21 Nh ng nÕu ta sö dông c©u lÖnh: SELECT DISTINCT hsluong FROM nhanvien kÕt qu¶ cña truy vÊn sÏ lμ: hsluong ---------- 1.92 1.86 2.11 3.21 1.6 T¹o b¶ng míi b»ng c©u lÖnh SELECT ... INTO C©u lÖnh SELECT ... INTO cã t¸c dông t¹o mét b¶ng míi cã cÊu tróc vμ d÷ liÖu ® îc x¸c ®Þnh tõ kÕt qu¶ cña truy vÊn. B¶ng míi ® îc t¹o ra sÏ cã sè cét b»ng sè cét ® îc chØ ®Þnh trong danh s¸ch chän vμ sè dßng sÏ μ sè dßng kÕt qu¶ cña truy vÊn VÝ dô 2.9: C©u lÖnh d íi ®©y t¹o míi mét b¶ng cã tªn lμ NHANVIEN_LUU bao gåm hä tªn vμ ®Þa chØ cña nh÷ng nh©n viªn cã hÖ sè l ¬ng lín h¬n 1.92: SELECT hoten, diachi INTO nhanvien_luu FROM nhanvien WHERE hsluong>1.92 1.7 S¾p xÕp kÕt qu¶ truy vÊn b»ng ORDER BY 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). ViÖc s¾p xÕp cã thÓ theo thø tù t¨ng t¨ng (ASC) hoÆc gi¶m (DESC). NÕu kh«ng chØ ®Þnh râ th× mÆc ®Þnh lμ t¨ng. VÝ dô 2.10: C©u lÖnh sau sÏ s¾p xÕp c¸c nh©n viªn theo thø tù gi¶m dÇn cña hÖ sè l ¬ng vμ nÕu hÖ sè l ¬ng b»ng nhau th× s¾p xÕp theo thø tù t¨ng dÇn cña ngμy sinh: SELECT hoten,ngaysinh,hsluong FROM nhanvien ORDER BY hsluong DESC, ngaysinh Ta cã thÓ sö dông c¸c sè thay v× sö dông tªn cét sau mÖnh ®Ò ORDER BY. VÝ dô 2.11: c©u lÖnh d íi ®©y s¾p xÕp c¸c nh©n viªn theo thø tù t¨ng dÇn cña ngμy sinh: 7UDQJ ThiNganHang.com

18 ページ

Tráön Nguyãn Phong SELECT hoten,ngaysinh,hsluong FROM nhanvien ORDER BY 3 1.8 PhÐp hîp vμ to¸n tö UNION To¸n tö UNION cho phÐp ta hîp c¸c kÕt qu¶ cña hai hay nhiÒu truy vÊn thμnh mét tËp kÕt qu¶ duy nhÊt. Có ph¸p cña phÐp hîp nh sau: Query_1 [UNION [ALL] Query_2 ] ... [UNION [ALL] Query_N ] [ORDER BY clause] [COMPUTE clause] Trong ®ã: Query_1 cã d¹ng: SELECT select_list [INTO clause] [FROM clause] [WHERE clause] [GROUP BY clause] [HAVING clause] vμ Query_i (i=2,..,N) cã d¹ng: SELECT select_list [FROM clause] [WHERE clause] [GROUP BY clause] [HAVING clause] VÝ dô 2.12: Gi¶ sö ta cã hai b¶ng nh sau: R S A B C E F abc 3 5 edf 15 jks 5 7 hht 1 bdg 10 5 abc 3 Hht 12 0 adf 2 Th× phÐp hîp: SELECT A,B FROM R UNION ThiNganHang.com

19 ページ

Giaïo trçnh thæûc haình SQL SELECT * FROM S Cã kÕt qu¶ nh sau: A B ---- ----------- abc 3 adf 2 bgd 10 edf 15 hht 1 hht 12 jks 5 Theo mÆc ®Þnh, phÐp to¸n UNION sÏ lo¹i bá nh÷ng dßng gièng nhau trong kÕt qu¶. 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. 1.8.1 C¸c nguyªn t¾c khi x©y dùng c©u lÖnh UNION Khi x©y dùng c¸c c©u lÖnh UNION, ta cÇn chó ý c¸c nguyªn t¾c sau: • TÊt c¶ c¸c danh s¸ch chän trong c©u lÖnh UNION ph¶i cã cïng sè biÓu thøc (c¸c tªn cét, c¸c biÓu thøc sè häc, c¸c hμm gé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. • C¸c cét t ¬ng øng trong b¶n th©n tõng truy vÊn cña mét c©u lÖnh UNION ph¶i xuÊt hiÖn theo thø tù nh nhau. Nguyªn nh©n lμ do phÐp hîp so s¸nh c¸c cét tõng cét mét theo thø tù ® îc cho trong mçi truy vÊn. • Khi c¸c kiÓu d÷ liÖu kh¸c nhau ® îc kÕt hîp víi nhau trong c©u lÖnh UNION, chóng sÏ ® îc chuyÓn sang kiÓu d÷ liÖu cao h¬n (nÕu cã thÓ ® îc). • Tiªu ®Ò cét trong kÕt qu¶ cña phÐp hîp sÏ lμ tiªu ®Ò cét ® îc chØ ®Þnh trong truy vÊn ®Çu tiªn. 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: • Truy vÊn ®Çu tiªn trong c©u lÖnh UNION cã thÓ cã INTO ®Ó t¹o mét b¶ng tõ kÕt qu¶ cuèi cïng. • 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. 7UDQJ ThiNganHang.com

20 ページ

Tráön Nguyãn Phong • 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. 1.9 PhÐp nèi 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ý. 1.9.1 PhÐp to¸n nèi Mét c©u lÖnh nèi (join statament) thùc hiÖn c¸c c«ng viÖc sau ®©y: • X¸c ®Þnh mét cét tõ mçi b¶ng. • So s¸nh c¸c gi¸ trÞ trong nh÷ng cét nμy theo tõng dßng. • KÕt hîp c¸c dßng cã nh÷ng gi¸ trÞ tho¶ m∙n ®iÒu kiÖn thμnh nh÷ng dßng míi. VÝ dô 2.13: C©u lÖnh d íi ®©y cho biÕt hä tªn, ®Þa chØ cña c¸c nh©n viªn vμ tªn ®¬n vÞ mμ mçi nh©n viªn thùc thuéc: SELECT hoten, diachi, tendonvi FROM nhanvien, donvi WHERE nhanvien.madonvi = donvi.madonvi Danh s¸ch chän trong phÐp nèi Gièng nh c¸c c©u lÖnh chän (selection statment), mét c©u lÖnh nèi b¾t ®Çu víi tõ khãa SELECT. C¸c cét ® îc chØ ®Þnh tªn sau tõ kho¸ SELECT lμ c¸c cét ® îc d a ra trong kÕt qu¶ truy vÊn. 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 (*). Danh s¸ch chän kh«ng nhÊt thiÕt ph¶i bao gåm c¸c cét cña nh÷ng b¶ng tham gia phÐp nèi. MÖnh ®Ò FROM trong phÐp nèi MÖnh ®Ò FROM cña c©u lÖnh nèi x¸c dÞnh c¸c b¶ng (hay khung nh×n) tham gia vμo phÐp nèi. 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Þ. MÖnh ®Ò WHERE trong phÐp nèi MÖnh ®Ò WHERE x¸c ®Þnh ®iÒu kiÖn nèi gi÷a c¸c b¶ng vμ c¸c khung nh×n ® îc chØ ®Þnh. 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 = B»ng > Lín h¬n >= Lín h¬n hoÆc b»ng < Nhá h¬n <= Nhá h¬n hoÆc b»ng <> Kh¸c ThiNganHang.com

最初の20ページを表示しています。全文を見るには資料をダウンロードしてください。

コメント (0)

ログイン して議論に参加する

まだコメントはありません。最初のコメントを書きましょう!