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

46 1.5K 4
Tài liệu đã được kiểm tra trùng lặp
Giáo trình thực hành SQL

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Giaùo trỗnh thổỷc haỡnh SQL7UDQJ*,lv,7+,j864/6WUXFWXUHG4XHU\/DQJXDJHODQJQQJÔFVGXÊQJFKRFDFKÊTXDQWUF VGOLÊX TXDQKÊ 1JQ QJ 64/ FKXQ ÔF D UD EL $16,$PHULFDQ1DWLRQDO 6WDQGDUGV ,QVWLWXGH YD ,62 ,QWHUQDWLRQDO 6WDQGDUGV 2UJDQL]DWLRQ YLSKLQ EDQ PL QKÂW KLÊQ QD\ OD SKLQ EDQ 64/ SKLQ EDQ ÔF D UD QP0ÊFGXFRQKLXQJQQJNKDFQKDXÔFDUDFKRFDFKÊTXDQWU&6'/TXDQKÊ64/ODQJQQJÔFVGXÊQJUÔQJUDLKLÊQQD\WURQJUÂWQKLXKÊWKÂQJ&6'/WKQJPDÊLQK2UDFOH64/6HUYHU'%0LFURVRIW$FFHVV7KQJTXD64/QJLVGXÊQJFRWKGĂGDQJQKQJKDÔFGOLÊXWKDRWDFYLGOLÊX0ÊWNKDF\ODQJQQJFRWQKNKDLEDRQQQRGĂVGXÊQJYDFXQJYYÊ\PDWUQQSKELÂQ*LDRWULQKQD\QKPFXQJFÂSFKREDÊQWDLOLÊXWKDPNKDRWQJÂL\XYFDFFXOÊQK JLDRWDF 64/ V GXÊQJFKRKÊ TXDQ WU &6'/ 0LFURVRIW64/ 6HUYHU*LDRWUQKEDRJPEÂQFKQJ&KQJJLLWKLÊXPÔWVÂFXOÊQKVGXÊQJWURQJYLÊFQKQJKDFDFÂLWÔQJGOLÊXQKEDQJGOLÊXNKXQJQKQYDFKPXÊF &KQJ WUQK ED\ EÂQ FX OÊQK WKDR WDF G OLÊX OD 6(/(&7 ,16(5783'$7(YD'(/(7(WURQJRWÊSWUXQJFKX\ÂXFXOÊQK6(/(&7&KQJFÊSÂQKDLFXOÊQKLXNKLQOD*5$17YD5(92.(VGXÊQJWURQJYLÊFFÂSSKDWYDKX\ERTX\QFXDQJLVGXÊQJ&6'/ &KQJ JLL WKLÊX Y WKX WXÊF OX WU YD WULJJHU j\ OD QKQJ ÂL WÔQJ&6'/ÔFVGXÊQJQKPWQJKLÊXQQJNKLVGXÊQJ&6'/7URQJFKQJSKXÊOXÊFFKXQJWLJLLWKLÊXFÂXWUXFYDGOLÊXFXDFDFEDQJVGXÊQJWURQJFDFYGXÊFKQJEDÊQWLÊQWUDFXYDÂLFKLÂXYLFDFYGXÊDQX1JRDLUDWURQJFKQJQD\FRQFRFDFKDPWKQJVGXÊQJWURQJ64/6HUYHUFDFEDÊQWKDPNKDRWURQJWKÊFKDQK0ÊFGXDUÂWFÂJQJQKQJJLDRWUQKNKQJWKWUDQKXÔFFDFVDLVRW5ÂWPRQJQKÊQÔFVÊJRS\FXDFDFEDÊQJLDRWUQKQJD\FDQJKRDQWKLÊQKQ Trỏửn Nguyón PhongCChhổổồồnngg 11:: NNGGNN NNGGặặẻẻ ậậNNHH NNGGHHẫẫAA DDặặẻẻ LLIIUU1JQQJQKQJKDGOLÊXEDRJPFDFFXOÊQKFKRSKHSQJLVGXÊQJQKQJKD&6'/YDFDFÂLWÔQJWURQJ&6'/QKFDFEDQJFDFNKXQJQKQFKPXÊF7DREDQJGOLX'OLÊXEQWURQJPÔW&6'/ÔFWFKFOXWUWURQJFDFEDQJ%QWURQJFDFEDQJGOLÊXÔFWFKFGLGDÊQJFDFGRQJYDFDFFÔW0ĂLPÔWGRQJELXGLĂQPÔWEDQJKLGX\QKÂWYDPĂLPÔWFÔWELXGLĂQFKRPÔWWUQJ&DFWKXFWQKOLQTXDQQEDQJ.KLWDÊRYDODPYLÊFYLFDFEDQJGOLÊXWDFQSKDL\ÂQFDFWKXÔFWQKNKDFWUQEDQJQKNLXGOLÊXFDFUDQJEXÔFFDFNKRDFDFTXLWF&DFWKXÔFWQKQD\ÔFVGXÊQJQKPWDÊRUDFDFUDQJEXÔFWRDQYHÊQWUQFDFFÔWWUQJWUQEDQJFXQJQKWDÊRUDFDFWRDQYHÊQWKDPFKLÂXJLDFDFEDQJGOLÊXWURQJ&6'/D.LXGOLX0ĂLPÔWFÔWWUQJFXDPÔWEDQJXSKDLWKXÔFYDRPÔWNLXGOLÊXQKÂWQKDÔFQKQJKDWWUF0ĂLPÔWNLXGOLÊXTXLQKFDFJLDWUGOLÊXÔFFKRSKHSÂLYLFÔWR&DFKÊTXDQWU&6'/WKQJFXQJFÂSFDFNLXGOLÊXFKXQQJRDLUDFRQFRWKFKRSKHSQJLVGXÊQJQKQJKDFDFNLXGOLÊXNKDFGÊDWUQFDFNLXGOLÊXDFR'L\ODPÔWVÂNLXGOLÊXWKQJÔFVGXÊQJWURQJJLDRWDF64/BinaryBitCharDatetimeDecimalFloatImageIntMoneyNcharNtextNvarcharRealSmalldatetimeSmallintSmallmoneyTextTinyintVarbinaryVarcharE&DFUDQJEXF&21675$,1767UQFDFEDQJGOLÊXFDFUDQJEXÔFÔFVGXÊQJQKPFDFPXÊFFKVDX 4XLQKFDFJLDWUGOLÊXKD\NKXQGDÊQJGOLÊXÔFFKRSKHSFKÂSQKÊQWUQFDFFÔWFXDEDQJUDQJEXÔF&+(&. 4XLQKJLDWUPÊFQKFKRFDFFÔWUDQJEXÔF'()$8/7 Giaùo trỗnh thổỷc haỡnh SQL7UDQJ 7DÊRQQWQKWRDQYHÊQWKÊFWKWURQJPÔWEDQJGOLÊXYDWRDQYHÊQWKDPFKLÂXJLDFDF EDQJ G OLÊX WURQJ &6'/ UDQJ EXÔF 35,0$5< .(< 81,48( YD)25(,*1.(<&KXQJWDVHWPKLXFKLWLÂWKQYFDFUDQJEXÔFQD\SKQWUQKED\YFXOÊQK&5($7(7$%/(7DREDQJEQJWUX\YQ64/7DÊRFDFEDQJODPÔWNKXTXDQWURQJWURÔQJWURQJTXDWUQKWKLÂWNÂYDFDLGÊWFDF&6'/%QWURQJFDF&6'/PĂLPÔWEDQJWKQJÔFVGXÊQJQKPELXGLĂQWKQJWKLYFDFÂLWÔQJWURQJWKÂJLLWKÊFYDKRÊFELXGLĂQPÂLTXDQKÊJLDFDFÂLWÔQJRjFRWKWFKFWÂWPÔWEDQJGOLÊXEDÊQWQKÂWFQSKDL[DFQKÔFFDF\XFXVDX %DQJÔFVGXÊQJQKPPXÊFFKJYDFRYDLWURQKWKÂQDREQWURQJ&6'/" %DQJVHEDRJPQKQJFÔWQDRYDNLXGOLÊXFKRFDFFÔWRODJ" 1KQJFÔWQDRFKRSKHSFKÂSQKÊQJLDWU18// &RVGXÊQJFDFUDQJEXÔFFDFPÊFQKKD\NKQJYDQÂXFRWKVGXÊQJXYDQKXWKÂQDR" 1KQJFÔWQDRVHRQJYDLWURODNKRDFKQKNKRDQJRDLNKRDGX\QKÂW"1KQJGDÊQJFKPXÊFQDRODFQWKLÂWYDFQXD7DREDQJGOLXjWDÊRPÔWEDQJWURQJ&6'/EDÊQVGXÊQJFXOÊQK&5($7(7$%/(FRFXSKDSQKVDX 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] )7URQJR- table_name:7QEDQJ FQWDÊR 7QFXD EDQJ SKDL GX\QKÂWWURQJPĂL&6'/YDSKDLWXQWKHRFDFTXLWFYQKGDQK- colname_i:7QFXDFÔWWKLWURQJEDQJ&DFFÔWWURQJPĂL Tráön Nguyãn PhongEDQJSKDLFRWQNKDFQKDXYDSKDLWXQWKHRFDFTXLWF YQK GDQK 0¡L P¤W EDQJSKDL FR WQK¢WP¤WF¤W- col_i_properties:&DFWKX¤FWQKFXDF¤WWKLTXLQKNL XGOL£XFXDF¤WYDFKQKF¤W FRFKRSKHSFK¢SQK£QJLDWU18//KD\NKQJ- constraints_i:&DF UDQJ EX¤F Q¢X FR WUQ F¤W WK L QK FDFUDQJEX¤FYNKRDFDFP£FQKFDFTXLQKYNKXQGD£QJGOL£X- table_constraint:&DFUDQJEX¤FWUQEDQJGOL£X9GX&XO£QKGL\WK£FKL£QKYL£FWD£REDQJ1+$19,(1EDRJPFDFF¤W0$19+27(11*$<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)E6GXQJFDFUDQJEXFWURQJEDQJGOLXDDDD5DQJEXF&+(&.5DQJEX¤F&+(&.¤FVGX£QJ FKQKFDFJLDWUKD\NKXQGD£QJGOL£XFR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 NKDLEDRP¤WUDQJEX¤F&+(&.¢LYLP¤WF¤WQDRRWDVGX£QJFXSKDSQKVDX [CONSTRAINT constraint_name] CHECK (expression)7URQJRH[SUHVVLRQODP¤WEL XWKFORJLFTXLQKJLDWUKD\NKXQGD£QJFXDGOL£X¤FFKRSKHS.KLRFKQKQJJLDWUGOL£XQDRODPFKRH[SUHVVLRQQK£QJLDWUXQJPL¤FFK¢SQK£Q9GXj TXLQKL£QWKRD£LFXDQKQYLQSKDLFRGD£QJFKQJKD£QFXO£QKYGX£¤FYL¢WQKVDXCREATE TABLE nhanvien( Giaùo trỗnh thổỷc haỡnh SQL7UDQJ manv char(10) not null, hoten char(30) not null, ngaysinh datetime null, diachi char(50) null, dienthoai char(6) nullconstraint check_dienthoai check (dienthoai like '[0-9][0-9][0-9] [0-9][0-9] [0-9]'))DDDD5DQJEXF'()$8/75DQJEXÔF'()$8/7ÔFVGXÊQJTXLQKJLDWUPÊFQKFKRPÔWFÔW*LDWUQD\VHWÊÔQJÔFJDQFKRFÔWQD\NKLQJLVGXÊQJEVXQJPÔWEDQJKLPDNKQJFKQKJLDWUFKRFÔW7UQPĂLFÔWFKFRWKFRQKLXQKÂWPÔWUDQJEXÔF'()$8/7WFODFKFRWKFRWÂLDPÔWJLDWUPÊFQKj NKDL EDR PÔW JLD WU PÊF QK FKR PÔW FÔW WD FK QK PÔW UDQJ EXÔF'()$8/7FKRFÔWEQJFDFKVGXÊQJFXSKDSVDX [CONSTRAINT constraint_name] DEFAULT {const_expression nonarguments_function NULL}9 GX &X OÊQK GL \ FK QK JLD WU PÊF QK OD NKQJ ELÂW FKR FÔW',$&+,WURQJEDQJ1+$19,(1YGXÊ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)DDDD5DQJEXF35,0$5<.(<muYGXÊQD\FKXQJWLNKQJÊWWQFKRUDQJEXÔF'()$8/7.KLRKÊTXDQWU&6'/VHWÊÔQJÊWWQFKRUDQJEXÔFQD\7X\QKLQGĂGDQJFKRYLÊFTXDQWUEDÊQQQÊWWQFKRFDFUDQJEXÔF Tráön Nguyãn Phong5DQJEX¤F35,0$5<.(<¤FVGX£QJ QKQJKDNKRDFKQKFXDEDQJ0¤WUDQJEX¤F35,0$5<.(<DPEDRUQJNKQJFRFDFJLDWUWUXQJO£S¤FDYDRWUQFD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¤FGX\QK¢WP¤WGRQJEDQJKLWURQJEDQJGOL£X0¡LP¤WEDQJFKFRWK FRGX\QK¢WP¤WNKRDFKQKYDEDQWKQNKRDFKQKNKQJFK¢SQK£QJLDWU18//5DQJEX¤F35,0$5<.(<ODFVFKRYL£FDPEDRWQKWRDQYH£QWK£FWK FXQJQKWRDQYH£QWKDPFKL¢Xj NKDLEDRP¤WUDQJEX¤F35,0$5<.(<ED£QVGX£QJFXSKDSVDX [CONSTRAINT constraint_name ] PRIMARY KEY [CLUSTERED|NONCLUSTERED] [( colname [,colname2 [ .,colname16]])]1¢XNKRDFKQKFXDP¤WEDQJFKODP¤WF¤WNKLRED£QNKQJFQWKL¢WSKDLFKQKGDQKVDFKFDFF¤WVGX£QJUDQJEX¤FPFF¤W7URQJWUQJK¤SNKRDFKQKODP¤WW£SK¤SWKDLF¤WWUOQED£QSKDLFKQKGDQKVDFKFDFF¤WVGX£QJUDQJEX¤FPFEDQJ9GXWD£REDQJ1+$19,(1YLNKRDFKQKOD0$19CREATE TABLE nhanvien(manv char(10) primary key,hoten char(30) not null,ngaysinh datetime null,diachi char(50) null,dienthoai char(6) null)FXO£QKWUQFRWK YL¢WQKVDXCREATE TABLE nhanvien(manv char(10) not null,hoten char(30) not null,ngaysinh datetime null,diachi char(50) null,dienthoai char(6) nullconstraint pk_nv primary key(manv)) Giaùo trỗnh thổỷc haỡnh SQL7UDQJD 5DQJEXF81,48(7KD\YVGXÊQJNKRDFKQKEDÊQFRWKVGXÊQJUDQJEXÔF81,48(DPEDRWQKWRDQYHÊQWKÊFWK6GXÊQJUDQJEXÔF81,48(WUQPÔWKD\QKLXFÔWEWEXÔFFDFJLDWUGOLÊXWUQPÔWKD\QKLXFÔWQD\NKQJÔFWUXQJOÊSQKDXjNKDLEDRPÔWUDQJEXÔF81,48(EDÊQVGXÊQJFXSKDSOÊQKVDX\ [CONSTRAINT constraint_name] UNIQUE [CLUSTERED | NONCLUSTERED] [colname1 [,colname2 [ .,colname16]])]D 5DQJEXF)25(,*1.(<&DFEDQJEQWURQJPÔW&6'/WKQJFRPÂLTXDQKÊYLQKDX&DFPÂLTXDQKÊQD\ÔF[DFQKGÊDWUQWQKEQJQKDXJLDPÔWKD\QKLXWUQJFXDEDQJQD\YLPÔWKD\QKLXWUQJFXDEDQJNKDF1ÂXPÔWKD\QKLXFÔWQDRRFXDPÔWEDQJFRJLDWUÔF[DFQKWPÔWKD\QKLXWUQJNKRDFXDEDQJNKDFWKFDFFÔWRÔFJRÔLODFRUDQJEXÔFNKRDQJRDÊLIRUHLJQNH\&DFUDQJEXÔF)25(,*1.(<ÔFVGXÊQJNÂWKÔSYLFDFUDQJEXÔF35,0$5<.(<YD81,48(QKPDPEDRWQKWRDQYHÊQWKDPFKLÂXJLDFDFEDQJÔFFKQKjNKDLEDRNKRDQJRDÊLEDÊQVGXÊQJFXSKDSOÊQKQKVDX [CONSTRAINT constraint_name ] [FOREIGN KEY (colname [,colname2 [ .,colname16]])] REFERENCES reference_table [(ref_colname [,ref_colname2 [ .,ref_colname 16]])] 9 GX 7DÊR KDL EDQJ 1+$19,(10$19 +27(1 1*$<6,1+ ',$&+,',(17+2$,0$'9YD'219,0$'97(1'9WKHRKQKGL\CREATE TABLE donvi(1+$19,(10$19+27(11*$<6,1+',$&+,',(17+2$,0$'9'219,0$'97(1'9+QK 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LEDQJ6DXNKLDWD£REDQJED£QFRWK WL¢QKDQKVD LF¢XWUXFKD\WKX¤FWQKFXDEDQJQKE VXQJF¤WE VXQJNKRDWKD\ LFDFUDQJEX¤Fj FRWK VXD LEDQJED£QVGX£QJFXO£QK$/7(5FRFXSKDSQK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£RP¤WUDQJEX¤FFKREDQJ'219,WUQF¤W0$'9TXLQKPDQYSKDLFRGD£QJKDLFKV¢YGX£ ALTER TABLE donvi ADD CONSTRAINT check_madv CHECK (madv LIKE ‘[0-9][0-9]’) Giaùo trỗnh thổỷc haỡnh SQL7UDQJ&KPXFLQGH[&DFFKPXÊFÔFVGXÊQJQKPKĂWUÔYLÊFWUX\FÊSÂQFDFGRQJGOLÊXÔFQKDQKFKRQJGÊDWUQFDFJLDWUFXDPÔWKD\QKLXFÔW&KPXÊFÔFFKLDUDODPKDLORDÊLFKPXÊF WXÊ QKRPFOXVWHUHG LQGH[YD FKPXÊF NKQJ WXÊ QKRP QRQFOXVWHUHGLQGH[ 0ÔWFKPXÊFWXÊQKRPODPÔWFKPXÊFPDWURQJRWKWÊORJLFFXDFDFNKRDWQJWÊQKWKWÊYÊWO\FXDFDFGRQJWQJQJWQWDÊLWURQJEDQJ0ÔWEDQJFKFRWKFRWÂLDPÔWFKPXÊFWXÊQKRP 0ÔWFKPXÊFNKQJWXÊKRPODPÔWFKPXÊFPDWURQJRWKWÊORJLFFXDFDFNKRDNKQJQKWKWÊYÊWO\FXDFDFGRQJWURQJEDQJ&DFFKPXÊFWXÊQKRPKĂWUÔYLÊFWUX\FÊSÂQFDFGRQJGOLÊXQKDQKKQQKLXVRYLFDFFKPXÊFNKQJWXÊQKRP.KLWDNKDLEDRPÔWNKRDFKQKKD\NKRD81,48(WUQPÔWKD\QKLXFÔWQDRRFXDEDQJKÊTXDQWU&6'/VHWÊÔQJWDÊRFKPXÊFWUQFDFFÔWR%DÊQFRWKWDÊRWKPFDFFKPXÊFNKDFEQJFDFKVGXÊQJFXOÊQKFRFXSKDSQKVDX CREATE [CLUSTEREDNONCLUSTERED] INDEX index_name ON table_name(column_name [, column_name] .)9GX&XOÊQKGL\VHWDÊRPÔWFKPXÊFNKQJWXÊQKRPWUQFÔW0$'9FXDEDQJ1+$19,(1 CREATE NONCLUSTERED INDEX idx_nhanvien_madv ON nhanvien(madv).KXQJQKQ9LHZ0ÔWNKXQJQKQFRWKFRLQKODPÔWeEDQJDRfFRQÔLGXQJÔF[DFQKWPÔWWUX\YÂQ0ÔWWUX\YÂQTXHU\ODPÔWWÊSFDFFKGĂQLQVWUXFWLRQQKPWUX\[XÂWYDKLQWKGOLÊXWFDFEDQJWURQJ&6'/&DFWUX\YÂQÔFWKÊFKLÊQEQJFDFKVGXÊQJFXOÊQK6(/(&7ÔFFÊSÂQWURQJFKQJ0ÔWNKXQJQKQWURQJJLÂQJQKPÔWEDQJYLPÔWWÊRFDFWQFÔWYDFDFGRQJGOLÊX7X\QKLQNKXQJQKQNKQJWQWDÊLQKODPÔWFÂXWUXFOXWUGOLÊXWURQJ&6'/'OLÊXEQWURQJNKXQJQKQWKÊFFKÂWODGOLÊXÔF[DFQKWPÔWKD\QKLXEDQJFVYDGRRSKXÊWKÔFYDRFDFEDQJFV&DFNKXQJQKQWKQJÔFVGXÊQJEQWURQJ&6'/QKPFDFPXÊFFKVDX\ 6GXÊQJNKXQJQKQWÊSWUXQJWUQGOLÊXÔF[DFQK Tráön Nguyãn Phong• 6GX£QJNKXQJQKQ QJLDQKRDWKDRWDFGOL£X• 6GX£QJNKXQJQKQ WX\EL¢QGOL£X• 6GX£QJNKXQJQKQ [X¢WNK XH[SRUWGOL£X• 6GX£QJNKXQJQKQ EDRP£WGOL£Xj WD£RNKXQJQKQED£QVGX£QJFXO£QKFRFXSKDSQKVDX CREATE VIEW view_name[(column_name [, column_name] .)] AS select_statement7URQJRVHOHFWBVWDWHPHQWODP¤WFXO£QK6(/(&7GXQJ WUX\[X¢WGOL£XWP¤WKD\QKLXEDQJ.KLWD£RNKXQJQKQFQOX\P¤WV¢L PVDX• 7QNKXQJQKQSKDLWXQWKHRFDFTXLWFYQKGDQKYDSKDLGX\QK¢W¢LYLP¡LQJLVGX£QJ• .KQJWK UDQJEX¤FFDFP£FQKFDFTXLWFFKRNKXQJQKQ• .KQJWK [\G£QJFKPX£FFKRNKXQJQKQ• 7URQJFXO£QK&5($7(9,(:NKQJFQWKL¢WSKDLFKQKWQF¤W7QFXDFDFF¤WFXQJQKNL XGOL£XFXDFKXQJVHWQJQJYLFDFF¤WWURQJGDQKVDFKFKR¤QFXDFXO£QK6(/(&7• %D£QSKDL[DFQKWQF¤WWURQJFXO£QK&5($7(9,(:WURQJFDFWUQJK¤SVDX− 0¡LF¤WFXDNKXQJQKQ¤FSKDWVLQKWP¤WEL XWKFV¢KR¤FP¤WKDPFDLVQKD\P¤WKQJ− +DLKD\QKLXF¤WFXDNKXQJQKQFRWUXQJWQ− %D£QPX¢QWKD\ LWQF¤WWURQJNKXQJQKQNKDFYLWQF¤WFXDEDQJFV9GX&XO£QKGL\VHEO¡LGRWQFXDF¤WWK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.madvj FXO£QKWUQFRWK WK£FKL£Q¤FED£QSKDL£WWQFKRFDFF¤WFXDNKXQJQKQQKVDX CREATE VIEW thongtin_nv(manv,hoten,tuoi,donvi) [...]... 3.21 avg =========== 2.535 Trần Nguyên Phong Phòng điều hành 1.92 Nguyễn Hữu Tình Phòng điều hành 1.92 avg =========== 1.92 Nguyễn Trung Kiên Phòng tài vụ 1.86 Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ AS SELECT manv,hoten,datediff(year,ngaysinh,getdate()),tendv FROM nhanvien,donvi WHERE nhanvien.madv=donvi.madv Z    Y Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ SELECT * FROM R,S WHERE R.A *= S.E Cho kết quả... đượ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. Qui tắc này là cần thiết vì tên đối tượng được phân tích khi các thủ tục được chạy. Nếu marytab không được chỉ định và user John tìm c¸ch thùc hiƯn thđ tơc, SQL Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ Hàm gộp Chức năng SUM([ALL | DISTINCT] expression ) Tính tổng các giá trị. AVG([ALL... 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. Nếu từ khoá OUTPUT không được sử dụng, việc thay đổi đến tham số sẽ không được giữ lại sau khi kết thúc thực hiện thủ tục. Ngoài ra, ta còn có thể dùng RETURN để trả về giá trị. Một thđ tơc l­u... (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ứ... donvi ( 1+$19,(1 0$19 +27(1 1*$<6,1+ ',$&+, ',(17+2$, 0$'9 '219, 0$'9 7(1'9  ∞ ∞∞ ∞ +QK  Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ FROM donvi WHERE nhanvien.madonvi = donvi.madonvi AND donvi.dienthoai ='848484' Z  Y Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ Ví dụ 4.5: CREATE PROC sp_exam @bten char(20) AS IF EXISTS (SELECT * FROM nhanvien WHERE hoten = @bten) RETURN 1 ELSE ... cho sp Sau đây là một số qui tắc cần lưu ý khi tạo các thủ tục lưu trữ ã Câu lệnh CREATE PROCEDURE không thể kết hợp với các câu lệnh SQL khác trong một khối lệnh đơn (single batch). ã Bản thân định nghĩa CREATE PROCEDURE có thể bao gồm bất kỳ số lượng cũng như câu lệnh SQL nào ngoại trừ những câu lệnh sau: CREATE VIEW CREATE TRIGGER CREATE DEFAULT CREATE PROCEDURE CREATE RULE ã Các đối tượng CSDL khác... trả về rõ ràng (sử dụng câu lệnh RETURN). ã Một tham số OUTPUT. Nếu chúng ta chỉ định OUTPUT khi thực hiện một thủ tục nhưng tham số tương ứng không được định nghĩa với OUTPUT khi tạo thủ tục thì sẽ bị lỗi. Tuy nhiên nếu ta định nghĩa OUTPUT cho một tham số trong thủ tục nhưng không chỉ định OUTPUT khi thực hiện thì vẫn không bị lỗi (giá trị tham số khi đó sẽ không được trả về). Ví dụ 4.6: CREATE... @sobichia / @sochia Khi ®ã nÕu ta thùc hiƯn nh­ sau: DECLARE @ketqua real EXEC Chia 100, 2, @ketqua OUT SELECT @ketqua SÏ cho kết quả là: 50.0 Còn nếu thực hiện DECLARE @ketqua real EXEC Chia 100, 2, @ketqua SELECT @ketqua Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ !> Không lớn hơn !< Không nhỏ hơn. 1.9.2 Các loại phép nối * Phép nối bằng và phép nối tự nhiên Một phép nối bằng (equijoin) là một phép... 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: Giaùo trỗnh thổỷc haỡnh SQL 7UDQJ sẽ tìm bảng marytab do John sở hữu. Ví dụ dưới đây là một cách dùng đúng, nó chỉ ra cho SQL Server tìm bảng marytab do Mary së h÷u: CREATE PROC p1 AS CREATE INDEX marytab_ind ON mary.marytab(col1) I.5 Đổi tên các thủ tục: Sử dụng thủ tục: sp_rename... được thực hiện tự động khi người dùng áp dụng câu lệnh sửa đổi dữ liệu lên một bảng được chỉ định. 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ữ liệu. 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. Nếu các ràng buộc tồn tại trong bảng có sự tác động của trigger, nó được kiểm tra trước việc thực . Sử dụng UNION với các giao tác SQL khácCá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ệnhgiao tác SQL khác: Truy vấn đầu tiên. mn điều kiện thành những dòngmớ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

Ngày đăng: 30/08/2012, 10:14

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

Tài liệu liên quan