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

THThiNganHang
2 Downloads
46
0

Vorschau wird generiert...

Inhalt des Dokuments

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Die ersten 20 Seiten werden angezeigt. Laden Sie das Dokument herunter, um alles zu sehen.

Kommentare (0)

Anmelden um an der Diskussion teilzunehmen

Noch keine Kommentare. Seien Sie der Erste!