锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 聽 1. 鍏充簬宸﹀彸琛ㄧ殑姒傚康銆傚乏琛ㄦ寚鐨勬槸鍦⊿QL璇彞涓帓鍦╨eft join宸﹁竟鐨勮〃錛屽彸琛ㄦ寚鐨勬槸鎺掑湪left join鍙寵竟鐨勮〃銆?br />聽 2. 鍦ㄦ嫾鎴愮殑澶ц〃涓紝宸﹁〃鎺掑湪宸﹁竟錛屽彸琛ㄦ帓鍦ㄥ彸杈廣?br />聽 3. on鏉′歡璇彞鏈濂界敤=鍙峰涓よ〃鐩稿簲鐨勪富澶栭敭榪涜榪炴帴銆傚綋鐒?dòng)灱屼篃鍙互鐢ㄥ叾浠栨搷浣溄W︼紝濡?gt;, <, 鏉ヨ繛鎺ヤ袱琛ㄧ殑浠諱竴瀛楁錛屾鏃剁殑鍏崇郴灝嗛潪甯稿鏉傦紝榪炴帴鍚庣殑璁板綍鏁頒篃闅忎箣鑰屽彉寰椾笉紜畾銆傚鏋滃湪涓浜涚壒孌婄殑鍦哄悎涓渶瑕佺敤鍒拌繖縐嶆柟寮忥紝蹇呴』閫氳繃綆鍗曠殑瀹炰緥鍔犱互紜錛屽惁鍒欙紝榪炴帴緇撴灉寰堝彲鑳戒笉鏄垜浠墍鎯寵鐨勶紒
inner join
聽 鏍煎紡錛歴elect * from 閮ㄩ棬 inner join 緇勭粐 on 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿 聽 鐩殑錛氬皢涓よ〃涓鍚坥n鏉′歡鐨勬墍鏈夎褰曢兘鎵懼嚭鏉ャ?/p>
聽 瑙勫緥錛?/p>
聽聽聽 1. 鎷煎嚭鐨勫ぇ琛ㄨ褰曚笉浼?xì)澧炲姞銆?br />聽聽聽 2. 濡傛灉宸﹁竟涓庡彸琛ㄧ殑鍏崇郴鏄竴瀵瑰鐨勫叧緋伙紝鍦ㄩ夊嚭鐨勪換涓璁板綍涓紝鍋囪嫢鍙寵〃鏈夊涓褰曚笌鍏跺搴旓紝閭d箞錛岃繛鎺ュ悗鐨勫乏琛紝涓婚敭灝嗕笉鍐嶅敮涓銆?/p>
聽 鍏稿瀷搴旂敤錛氬皢瀛樺湪澶氬叧緋葷殑寮曠敤琛ㄦ斁鍦ㄥ乏琛紝灝嗗瓨鍦ㄤ竴鍏崇郴鐨勮寮曠敤琛ㄦ斁鍦ㄥ彸琛紝閫氳繃=鍙峰皢涓誨閿繘琛岃繛鎺ワ紝閫氳繃瀵瑰彸琛ㄨ瀹氳繃婊ゆ潯浠訛紝閫夊嚭鐩稿簲鐨勪笖涓婚敭鍞竴鐨勫乏琛ㄨ褰曘?/p>
聽 澶囨敞錛歩nner join 鏄粯璁ょ殑榪炴帴鏂瑰紡錛屽彲緙╁啓涓簀oin銆?/p>
聽 杞寲涓簑here瀛愬彞錛?/p>
聽聽聽 select * from 閮ㄩ棬, 緇勭粐 where 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿 聽
left outter join
聽 鏍煎紡: select * from 閮ㄩ棬 left join 緇勭粐 on 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿 聽 鏍煎紡: select * from 緇勭粐 left join 閮ㄩ棬 on 緇勭粐.緙栧彿 = 閮ㄩ棬.緇勭粐緙栧彿 聽 鐩殑錛氬皢宸﹁〃鐨勬墍鏈夎褰曞垪鍑猴紝鍙寵〃涓彧瑕佺鍚坥n鏉′歡鐨勶紝涓庡乏琛ㄨ褰曠浉鎷煎悎錛屼笉絎﹀悎鏉′歡鐨勶紝濉互null鍊箋?/p>
聽 瑙勫緥錛?/p>
聽聽聽 1. 閫夊嚭鎵鏈夌鍚堟潯浠剁殑宸﹁〃錛屽鏋滃乏杈逛笌鍙寵〃鐨勫叧緋繪槸涓瀵逛竴鐨勫叧緋伙紝鍒欐嫾鎴愮殑澶ц〃璁板綍涓嶄細(xì)鏀瑰彉銆?br />聽聽聽聽聽聽 濡傛灉宸﹁竟涓庡彸琛ㄧ殑鍏崇郴鏄瀵逛竴鐨勫叧緋伙紝鍒欐嫾鎴愮殑澶ц〃璁板綍涔熶笉浼?xì)鏀瑰彉銆?br />聽聽聽聽聽聽 濡傛灉宸﹁竟涓庡彸琛ㄧ殑鍏崇郴鏄竴瀵瑰鐨勫叧緋伙紝鍒欐嫾鎴愮殑澶ц〃璁板綍浼?xì)澧炲姞銆傚浜庢瘡涓鍏鋒湁涓瀵瑰鍏崇郴鐨勫乏琛ㄨ褰曪紝濡傛灉宸﹁〃1錛歂涓庡彸琛ㄥ搴旓紝閭d箞浼?xì)澶氬嚭N-1鏉¤褰曘備緥濡傦紝濡傛灉宸﹁〃絎竴鏉¤褰?錛?瀵瑰簲浜庡彸琛紝澶氬嚭2鏉¤褰曘傚鏋滃乏琛ㄧ浜屾潯璁板綍1錛?瀵瑰簲浜庡彸琛紝鍒欏啀澶氬嚭1鏉¤褰曘傝繖鏍鳳紝鎬誨叡澶氬嚭3鏉¤褰曘傚叾浠栫被鎺ㄣ?br />聽聽聽 2. 濡傛灉宸﹁竟涓庡彸琛ㄧ殑鍏崇郴鏄竴瀵瑰鐨勫叧緋伙紝鍦ㄩ夊嚭鐨勪換涓璁板綍涓紝鍋囪嫢鍙寵〃鏈夊涓褰曚笌鍏跺搴旓紝閭d箞錛岃繛鎺ュ悗鐨勫乏琛紝涓婚敭灝嗕笉鍐嶅敮涓銆?br />聽聽聽 3. 濡傛灉宸﹁竟涓庡彸琛ㄧ殑鍏崇郴鏄竴瀵瑰鐨勫叧緋伙紝瀵逛簬宸﹁〃浠諱竴璁板綍錛屽鏋滃彸琛ㄦ病鏈夎褰曚笌鍏剁浉瀵瑰簲錛屽垯鍏ㄩ儴濉互null鍊箋?/p>
聽 鍏稿瀷搴旂敤錛氬皢瀛樺湪澶氬叧緋葷殑寮曠敤琛ㄦ斁鍦ㄥ乏琛紝灝嗗瓨鍦ㄤ竴鍏崇郴鐨勮寮曠敤琛ㄦ斁鍦ㄥ彸琛紝閫氳繃瀵瑰彸琛ㄨ瀹氳繃婊ゆ潯浠訛紝閫夊嚭鐩稿簲鐨勪笖涓婚敭鍞竴鐨勫乏琛ㄨ褰曘?/p>
聽 澶囨敞錛歭eft outter join鍙敤left join浠f浛銆傚湪鏈変簺鏁版嵁搴撲腑錛屽HSqlDb, 鍙兘浣跨敤left join鑰屼笉鑳戒嬌鐢╨eft outter join銆?/p>
聽 杞寲涓簑here瀛愬彞錛?/p>
聽聽聽 select * from 閮ㄩ棬, 緇勭粐 where 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿
聽 鏍煎紡: select * from 閮ㄩ棬 right join 緇勭粐 on 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿 聽 鏍煎紡: select * from 緇勭粐 right join 閮ㄩ棬 on 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿 聽 鐩殑錛氬皢鍙寵〃鐨勬墍鏈夎褰曞垪鍑猴紝宸﹁〃涓彧瑕佺鍚坥n鏉′歡鐨勶紝涓庡彸琛ㄨ褰曠浉鎷煎悎錛屼笉絎﹀悎鏉′歡鐨勶紝濉互null鍊箋?/p>
聽 瑙勫緥錛?涓巐eft outter join鐩稿弽) 聽 鍏稿瀷搴旂敤錛氬彲杞寲鎴恖eft outter join銆備緥濡?/p>
聽聽聽 select * from 緇勭粐 right join 閮ㄩ棬 on 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿 聽 澶囨敞錛歳ight outter join鍙敤right join浠f浛銆傚湪鏈変簺鏁版嵁搴撲腑錛屽HSqlDb, 娌℃湁瀹炵幇right join鍔熻兘銆?/p>
聽 杞寲涓簑here瀛愬彞錛?/p>
聽聽聽 select * from 閮ㄩ棬, 緇勭粐 where 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿
涓虹紦瑙f棭鏅氶珮宄板甫鏉ョ殑鎷ュ牭錛屽寳浜氦閫氬緇忚繃璋冪爺錛屾嫙浠庡晢涓氭満鏋勩佸ぇ鍨嬪晢鍦哄紑濮嬭瘯琛岄敊宄頒笂涓嬬彮錛屽悓鏃舵嫙鍦↖T琛屼笟銆佺鐮斿崟浣嶈瘯琛屽脊鎬у伐浣滃埗銆傛槰澶╋紝甯?jìng)錆h澶т唬琛ㄨ檔鍑ゆ閫忛湶錛屽叿浣撴柟妗堟斂搴滆繕鍦ㄦ嫙璁腑銆?
甯?jìng)錆h澶т唬琛ㄥ垬鍥界ゥ鍦ㄥ幓騫寸殑浜轟唬浼?xì)涓婃彁鍑?#8220;鍚堢悊璋冩暣涓婁笅鐝椂闂?#8221;寤鴻(瑙佹柊闂婚檮浠?銆傚競(jìng)浜ら氬瀵規(guī)浜堜互鍥炲縐幫紝鏈競(jìng)鎷熻瘯琛岄敊寮涓婁笅鐝椂闂村拰瀹炶寮規(guī)у伐浣滄椂闂翠袱縐嶆柟娉曪紝緙撹В鏃╂櫄楂樺嘲鐨勪氦閫氬帇鍔涖傜洰鍓嶏紝宸茬粡鍦ㄥ紑灞曞晢涓氥佹満鍏充紒浜嬩笟鍗曚綅絳夐敊宄頒笂涓嬬彮鐨勭爺絀訛紝騫舵彁鍑轟簡(jiǎn)璋冩暣鍟嗕笟銆佹満鍏充紒浜嬩笟鍗曚綅涓婁笅鐝椂闂寸殑鍒濇鏂規(guī)錛屾嫙浠庡晢涓氭満鏋勫紑濮嬪疄鏂姐?姝ゅ錛屼氦閫氬榪樹笌鐩稿叧閮ㄩ棬榪涜浜?jiǎn)鍗忓晢锛屽涓呄x潙絳夊湴鍖鴻繘琛岃皟鐮旓紝鎷熷鏌愪簺琛屼笟(濡侷T琛屼笟銆佺鐮斿崟浣嶇瓑)瀹炶寮規(guī)у伐浣滃埗錛岄紦鍔卞湪瀹剁綉涓婂姙鍏傚鏋滆繖浜涙帾鏂借兘澶熷疄鏂斤紝鍒欏湪涓瀹氱▼搴︿笂鍙互鍓婂噺楂樺嘲鏃舵鐨勪氦閫氭祦宄板箋?
鎹簡(jiǎn)瑙o紝鎴嚦2007騫村簳錛屽寳浜殑鏈哄姩杞︿繚鏈夐噺宸茶揪鍒?10涓囪締銆傚競(jìng)浜ら氬琛ㄧず錛屼粠鍩庡競(jìng)浜ら氳繍琛屾佸娍鏉ョ湅錛屽嚭琛岄渶姹傚拰鏈哄姩杞︿繚鏈夐噺浠嶅湪鎸佺畫蹇熷闀匡紝楂樺嘲鏃舵閬撹礬鎷ュ牭鍖哄煙涓嶆柇鎵╁ぇ銆佸眬閮ㄨ礬孌靛鉤鍧囪濺閫熶笅闄嶏紝緙撹В鎷ュ牭鐨勬帾鏂藉ぇ澶氳鎸佺畫蹇熷闀跨殑浜ら氶渶姹傛墍鎶墊秷錛屼氦閫氬艦鍔夸緷鐒跺崄鍒嗕弗宄匯?
榪欐槸鍓嶄袱鍛ㄧ殑鏂伴椈浜?jiǎn)锛屽綋鏃朵竴鐪嬪埌鏂伴椈灝辨劅瑙夎繖鏉℃秷鎭緢鍒╁ソ錛屽挨鍏跺鎴戜滑鍖椾含鐨勭▼搴忓憳鏉ヨ銆傚湪瀹跺姙鍏殑鍒╁紛錛岀幇鍦ㄤ笟鍐呬篃娌℃湁涓叿浣撶殑璇存硶錛岃繖鍑犲ぉ鏈夊垢鍦ㄥ鍔炲叕錛屼綋楠屼簡(jiǎn)涓鎶婃兂璺熷ぇ瀹惰皥涓璋堟垜鐨勭湅娉曘?
涓錛屽埄錛?
1錛岃妭綰︽椂闂達(dá)細(xì)鑺卞湪絳夎濺銆佽礬涓娿佸牭杞︺佸掕濺鎴栧紑杞︺佸仠杞︾瓑浜ら氬嚭琛岀殑鏃墮棿鎴愭湰銆?
2錛岃妭綰﹂噾閽憋細(xì)涓婁笅鐝殑璺垂鎴栬濺浣嶈垂銆佹補(bǔ)璐圭瓑錛岃繕涓嶇畻鐪嬩笉鍒扮殑鏃墮棿鍏戞崲鐨勯挶錛堟椂闂村氨鏄噾閽憋級(jí)銆?
3錛屼負(fù)鍥藉鍋氳礎(chǔ)鐚細(xì)涓嶄絾緇欎笂榪版柊闂諱腑鐨勪氦閫氶儴闂ㄥ噺灝戝帇鍔涳紝鑰屼笖鍑忓皯浜?jiǎn)纰崇殑鎺掓旟N噺錛堣妭鑳藉噺鎺掞級(jí)銆?
4錛屼負(fù)鍏徃鑺傜害鏃ュ父璐圭敤錛氬崰浣嶈垂錛屾按璐癸紝槨愯垂錛屽姙鍏垂錛屼氦閫氳垂銆傘傘傘?
5錛岃嚜宸辨椂闂存妸鎻℃洿鍑嗙‘錛氱敱浜庡噺灝戜簡(jiǎn)浜ら氱幆鑺傦紝涓漢鏃墮棿涓婃洿鏈夊彲鎺фс?
浜岋紝寮婏細(xì)
1錛岀己灝戝姙鍏皵姘涳細(xì)瀹朵腑鐨勭幆澧冩瘯绔熸病鏈夊叕鍙擱偅涔堢粺涓錛屼竴涓涓涓牱鍎匡紝鏈夋潯浠剁粰鑷繁鎵撻犲姙鍏幆澧冨拰姘旀皼鐨勫憳宸ユ亹鎬曞彧鏈夊皯鏁般?
2錛屽鍔犱氦嫻佹垚鏈細(xì)鍏徃闈㈠闈㈢殑浜ゆ祦鍙兘鏀規(guī)垚鎵嬫満瀵規(guī)墜鏈猴紝鎴栭害鍏嬪楹﹀厠錛屾垨鎵嬫寚瀵規(guī)墜鎸囥傝繖浜涜偗瀹氶兘姣旈潰瀵歸潰鑺辯殑鏃墮棿闀匡紝榪樿閫氳璐逛笂緗戣垂銆?
3錛屽鏄撳彈澶栫晫騫叉壈錛氬鏋滃涓湁濡誨効鑰佸皬錛屽閲屽緢闅劇粰浣犱竴涓皝闂幆澧冿紝浣犱細(xì)涓嶆柇鐨勮“楠?dú)鎵?#8221;錛屾瘯绔熷伐浣滅殑浜嬫儏鍍忓啓紼嬪簭闇瑕佹瘮杈冨績(jī)闈?rùn)鐨勭幆澧冦?
4錛屽鏄撹嚜鐢辨暎婕細(xì)娌℃湁浜?jiǎn)鍏彅R瀵肩殑鐩戞帶鍜屽悓浜嬬殑鐫d績(jī)錛屼漢鐨勮嚜鎺ц兘鍔涙槸鏈夐檺鐨勶紝娌″噯鐪嬫柊闂繪場(chǎng)璁哄潧鐜╂父鎴忓氨榪囦簡(jiǎn)澶達(dá)紝鑰借鐨勮偗瀹氭槸姝d簨銆?
5錛岄犳垚鍏叡璧勬簮嫻垂錛氬叕鍙擱噷鐨勫叕鍏辮祫婧愬湪瀹舵槸寰堥毦鍒╃敤濂界殑錛屾瘮濡傚唴閮ㄧ殑鏈嶅姟鍣紝灞鍩熺綉鍜岄氳宸ュ叿銆?
浠ヤ笂榪欎簺鏄垜鎵鑳芥兂鍒扮殑錛岃嚦浜庡埄澶ц繕鏄紛澶ф垜娌℃湁鍋忓悜閮芥槸5鏉°備釜浜鴻繕鏄寰楀ぉ鏃跺湴鍒╀漢鍜屾墠閫傚悎鍦ㄥ鍔炲叕錛屽浜庝笉鍚岀殑浜烘垨鍚屼竴涓漢鐨勪笉鍚屾椂闂存閮芥槸鍒╁紛闅捐鯨鐨勩?
甯屾湜澶у鑳借亰涓鑱婅嚜宸辯殑鐪嬫硶銆?
涓牴鎹〃鍗曟暟鎹湪client绔敤js鐢熸垚excle鐨刣emo錛屼護(hù)鎴戞垜嬋鍔ㄤ簡(jiǎn)鍗婂ぉ------js澶己浜?jiǎn)锛?br />
涓嬮潰鍒嗕韓涓涓嬭繖孌礿s錛?
聽
var聽excel聽聽=聽new聽ActiveXObject("Excel.Application");聽//鍒涘緩AX瀵硅薄excel
聽2excel.visible聽=true;聽//璁劇疆excel鍙灞炴?/span>
聽3var聽workbook聽=聽excel.Workbooks.Add;聽//鑾峰彇workbook瀵硅薄
聽4var聽sheet1聽=聽xlBook.Worksheets(2);聽聽//鍒涘緩sheet1
聽5var聽sheet2聽=聽xlBook.Worksheets(1);聽聽//鍒涘緩sheet2
聽6sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).mergecells=true;聽//鍚堝茍鍗曞厓鏍?/span>
聽7sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).value="鍛樺伐鏈堣冩牳鎴愮嘩";聽//璁劇疆鍗曞厓鏍煎唴瀹?/span>
聽8sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Interior.ColorIndex=6;//璁劇疆搴曡壊聽
聽9sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Font.ColorIndex=5;//璁劇疆瀛椾綋鑹猜?/span>
10sheet1.Rows(1).RowHeight聽=聽20;聽//璁劇疆鍒楅珮
11sheet1.Rows(1).Font.Size=16;聽聽//璁劇疆鏂囧瓧澶у皬
12sheet1.Rows(1).Font.Name="瀹嬩綋";聽//璁劇疆瀛椾綋
13//璁劇疆姣忎竴鍒楃殑鏍囬
14sheet1.Cells(2,1).Value="宸ョ▼甯堣冩牳欏?/span>";
15sheet1.Cells(2,2).Value="鎬誨垎";
16sheet1.Cells(2,3).Value="鐮斿彂榪涘害";
17sheet1.Cells(2,4).Value="鍑哄嫟鐜?/span>";
18sheet1.Cells(2,5).Value="鎵ц鍔?/span>";
19sheet1.Cells(2,6).Value="璐d換蹇?/span>";
20sheet1.Cells(2,7).Value="宸ヤ綔瑙勮寖";
21sheet1.Cells(2,8).Value="鍗忎綔綺劇";
22sheet1.Cells(2,9).Value="榪涘彇鎬?/span>";
23sheet1.Cells(2,10).Value="宸ヤ綔鍚堢悊鎬?/span>";
24sheet1.Cells(2,11).Value="瑙e喅闂鑳藉姏";
25sheet1.Cells(2,12).Value="搴斿彉鑳藉姏";
26sheet1.Cells(2,13).Value="浜洪檯鎶鑳?/span>";
27sheet1.Cells(2,14).Value="鐞嗚В鑳藉姏";
28//浠庤〃鍗曞驚鐜帶浠朵腑鍙栧嚭鏁版嵁閫愯鎻掑叆瀵瑰簲鍒楃殑鏁版嵁
29var聽count聽=聽sfform.GetAttributeValue('Repeat','Count');
30for(var聽line=1;line<=count;line++)
{聽//begin聽for
31聽聽var聽name聽聽=聽sfform.GetValue('Repeat['+line+'].name');
32聽聽var聽total=聽sfform.GetValue('Repeat['+line+'].total');
33聽聽var聽yfjd聽=聽sfform.GetValue('Repeat['+line+'].yfjd');
34聽聽var聽jh聽=聽sfform.GetValue('Repeat['+line+'].jh');
35聽聽var聽gcgj聽=聽sfform.GetValue('Repeat['+line+'].gcgj');
36聽聽var聽cql聽=聽sfform.GetValue('Repeat['+line+'].cql');
37聽聽var聽zxl聽=聽sfform.GetValue('Repeat['+line+'].zxl');
38聽聽var聽gzgf聽=聽sfform.GetValue('Repeat['+line+'].gzgf');
39聽聽var聽zrx聽=聽sfform.GetValue('Repeat['+line+'].zrx');
40聽聽var聽xzjs聽=聽sfform.GetValue('Repeat['+line+'].xzjs');
41聽聽var聽jqx聽=聽sfform.GetValue('Repeat['+line+'].jqx');
42聽聽var聽gzhl聽=聽sfform.GetValue('Repeat['+line+'].gzh');
43聽聽var聽jjwt聽=聽sfform.GetValue('Repeat['+line+'].jjwt');
44聽聽var聽ybnl聽=聽sfform.GetValue('Repeat['+line+'].ybnl');
45聽聽var聽rjjn聽=聽sfform.GetValue('Repeat['+line+'].rjjn');
46聽聽var聽ljnl聽=聽sfform.GetValue('Repeat['+line+'].ljnl');
47聽聽sheet1.Cells(2+line,1).Value=name;
48聽聽sheet1.Cells(2+line,2).Value=total;
49聽聽sheet1.Cells(2+line,3).Value=yfjd;
50聽聽sheet1.Cells(2+line,4).Value=cql;
51聽聽sheet1.Cells(2+line,5).Value=zxl;
52聽聽sheet1.Cells(2+line,6).Value=gzgf;
53聽聽sheet1.Cells(2+line,7).Value=zrx;
54聽聽sheet1.Cells(2+line,8).Value=xzjs;
55聽聽sheet1.Cells(2+line,9).Value=jqx;
56聽聽sheet1.Cells(2+line,10).Value=gzhl;
57聽聽sheet1.Cells(2+line,11).Value=jjwt;
58聽聽sheet1.Cells(2+line,12).Value=ybnl;
59聽聽sheet1.Cells(2+line,13).Value=rjjn;
60聽聽sheet1.Cells(2+line,14).Value=ljnl;
61
62}//end聽for
63
64
鍩烘湰鐨勪唬鐮佸凡緇忓疄鐜頒簡(jiǎn)錛岀敓鎴恊xcel鐨勬牸寮忓拰涓浜涚粺璁¤綆楋紝鐢╦s鍐欏簲璇ユ槸寰堟柟渚跨殑錛屼互鍚庢湁渚嬪瓙鍐嶄綔琛ュ厖銆?br />
浠庝唬鐮佽搴︽潵鐪嬭繖縐嶅啓娉曚笉鏄緢鐏墊椿錛屼絾鍦ㄨ兘婊¤凍鐢ㄦ埛鐨勯渶姹傚墠鎻愪笅錛岃繖縐嶇敓鎴愭柟寮忚繕鏄緢鍙楁榪庣殑錛岀粰鐢ㄦ埛鐨勬劅瑙夊氨鏄交
渚褲備釜浜鴻涓虹畝鍗曞氨鏄編錛?img src ="http://www.tkk7.com/beyondduke/aggbug/61911.html" width = "1" height = "1" />
聽 4. on鏉′歡璇彞涓嶈兘鐪佺暐銆?br />聽 5. 鍙互榪為攣浣跨敤join錛屾瘡嬈′嬌鐢╦oin閮戒護(hù)鍙︿竴琛ㄤ笌褰撳墠鐨勮〃鎴栬繛鎺ョ殑緇撴灉鐩歌繛鎺ャ?/p>
鍦ㄤ笅鏂囦腑錛岀敤鍒頒簡(jiǎn)涓や釜琛紝"閮ㄩ棬"琛ㄤ笌"緇勭粐"琛紝鍏朵腑錛?閮ㄩ棬"琛ㄦ湁涓鍚嶄負(fù)"緇勭粐緙栧彿"鐨勫閿紝鎸囧悜"緇勭粐"琛ㄤ腑鐨勪富閿?緙栧彿"銆?/p>
right outter join
聽聽聽 涓?br />聽聽聽 select * from 閮ㄩ棬 left join 緇勭粐 on 閮ㄩ棬.緇勭粐緙栧彿 = 緇勭粐.緙栧彿
聽聽聽 鐨勬晥鏋滀竴鏍?/p>
1, 涓嬭澆j2sdk-linux-i386-rpm.bin
2錛岃繍琛屽懡浠わ細(xì)chmod +x j2sdk-linux-i386-rpm.bin 錛堜慨鏀規(guī)垚鍙墽琛屾潈闄愶級(jí)
3錛屾墽琛?FONT style="BACKGROUND-COLOR: #d3d3d3" color=#0000ff>錛?/ j2sdk-1_3_1-linux-i386-rpm.bin (鎵ц鍚庣敓鎴恟pm瀹夎鍖卝2sdk-linux-i386.rpm)
4錛?FONT style="BACKGROUND-COLOR: #d3d3d3" color=#0000ff>rpm -ivh j2sdk-1_3_1-linux-i386-rpm (瀹夎鎴愬姛鍚庯紝jdk灝嗚瀹夎鍦?usr/java/鐩綍涓?
5, vi褰撳墠鐢ㄦ埛錛堜緥root鐩綍涓嬶級(jí)鐨?bash_profile鏂囦歡錛屾坊鍔犲唴瀹瑰涓嬶細(xì)
6錛宩ava鍛戒護(hù)錛岄獙璇佺幆澧冩槸鍚﹂厤緗垚鍔熴?BR>
TOMCAT鐨勯厤緗細(xì)
1錛屼笅杞絡(luò)akarta-tomcat-5.0.28.tar.gz
2錛?tar zxvf jakarta-tomcat.tar.gz
3錛?杞崲璺緞cd鍒皌omcat/bin鐩綍涓?FONT style="BACKGROUND-COLOR: #d3d3d3" color=#0000ff>錛?/startup.sh (鍚姩tomcat)
4錛?鍦╥e嫻忚鍣ㄨ緭鍏?A href="http://servername:port">http://servername:port 錛堥獙璇乼omcat鏄惁鍚姩鎴愬姛錛?BR>
A Dozen Ways to Get the Testing Bug 婁 Advanced Agile Technologies: Beyond XP 婁 Advanced Analytic Applications with Java Data Mining 婁 Advanced Testing Techniques with TestNG 婁 AOP in the Enterprise 婁 Apache Geronimo Prime-time 婁 Beyond Java: Technologies to Watch 婁 "Bottom 10" Reasons Agile Teams Fail 婁 Building Identity Management Solutions 婁 Building Quality Applications with Ajax 婁 Building Quality Applications with Ajax Frameworks 婁 Distributed Caching: Essential Lessons 婁 Dive into RIFE 婁 Essential EJB 3.0 Persistence 婁 Extreme Web Caching 婁 FastSOA: Applying Native XML Database Technology To Improve SOA Performance 婁 Flow with Continuations 婁 Java Specialists in Action 婁 JCR vs. RDBMS: Your App. is a "Content App.", 10 symptoms! 婁 The Mobile Java Application Continuum 婁 Patterns in Service-Oriented Architectures 婁 Open Source SOA using POJOs 婁 OSWorkflow 婁 Persistence with iBATIS - Hands On 婁 Portlet Development with JSF 婁 Productive Coder 婁 RAD That Ain't Bad: Domain Driven Development with Trails 婁 Refactoring Databases: Evolutionary Database Design 婁 Shale: The Next Struts? 婁 Software Visualization and Model Generation 婁 State of Web Frameworks 婁 Using Java Business Integration to Enable Composite Applications with ServiceMix 婁 XQuery for the Java Geek 婁 XML, Schemas and Performance 婁 The Importance of Preserving Object Identity while Clustering
A Dozen Ways to Get the Testing Bug
Mike Clark
You've heard everyone praising the benefits of test-driven development, and you'd really like to try it yourself, but how do you get started on a real project? This talk gives you 12 practical ways to start writing tests, and keep writing them, regardless of your project's technology or development process. You'll be able to immediately apply these no-nonsense techniques toward improving your design and testing skills. In no time you'll be writing better software, and faster!
Advanced Agile Techniques: Beyond XP
Scott Ambler
Many development teams have adopted some, if not all, of the techniques of Extreme Programming (XP). There is far more to agile software development, however, than XP. In this presentation you'll learn advanced techniques such as initial architectural modeling, database refactoring, model storming, and agile documentation practices (yes, you still have to write documentation).
Advanced Analytic Applications with Java Data Mining
Mark Hornick
Building applications without advanced analytics is becoming a dangerous practice. Applications that merely collect and report data using queries or OLAP will soon give way to competitor applications that enlist the help of advanced analytics capabilities such as data mining. The Java Data Mining standard (JSR-73) enables building advanced analytic applications natively in Java.
In this session, Mark highlights an application involving campaign management 鈥?selecting customers for a product promotion. Response modeling involves identifying which customers are likely to respond to the promotion. First, Mark explores a solution without the use of data mining, then illustrate how that same application can be augmented with data mining technology to improve the response rate as well as the profitability of the campaign. Mark also provides an overview of JDM 1.0 (JSR-73) and the upcoming JDM 2.0 (JSR-247) standards and how these can be used to build such applications.
Advanced Testing Techniques with TestNG
Cedric Beust
TestNG is a recent testing framework built on annotations that offers advanced testing functionalities such as test groups, method parameters, dependent methods and time-outs. This presentation will offer a short introduction to TestNG and then will discuss some testing scenarios typically encountered by programmers in various software areas and how TestNG can help create elegant and simple testing designs.
AOP in the Enterprise
Adrian Colyer
In this session Adrian will describe how and why you should be using AOP within your enterprise applications. You will gain a deeper understanding of the goals of AOP, and the different ways that AOP frameworks realize those goals. Spring AOP and AspectJ 5 will then be introduced, and their complementary roles within enterprise applications explained. Recommendations and a roadmap for getting started with these technologies will be presented (with examples and demos) so that you can begin applying what you learn during the talk straight away.
Apache Geronimo Prime-time
Jeff Genender
Apache Geronimo is the latest open source application server to achieve J2EE 1.4 certification, making it ready for prime time in the Enterprise. It is now a real contender in the open source application server market and offers a unique architecture making different open-source projects pluggable and capable of building customized stacks. This session will present an overview of Apache Geronimo, its architecture, its major open source components, how it works, and how to configure and use the application server. This session will cover Geronimo's different concepts such as the kernel, GBeans, deployment and different configurations, and running the application server.
Beyond Java: Technologies to Watch
Bruce Tate
Recently, we've seen a flurry of innovation happen in dynamic languages. From the Ruby on Rails framework to continuation servers to Erlang, a language based on concurrency, we've seen incredible innovation over the last two years. Many of these ideas are just now showing up on the Java platform in frameworks like Rife, Seam and Spring Web Flow.
"Bottom 10" Reasons Agile Teams Fail
Clinton Begin
Agile methodologies such as eXtreme Programming and SCRUM are hot topics today -- and they are also hot targets. When things go wrong on an agile project, it's far too convenient to blame the methodology. Consequently it's often the case that the methodology is blamed, instead of the people charged with implementing it correctly. In this talk Clinton will discuss the most common reasons a team may fail when trying to execute a project using an agile methodology. He'll cover how to learn from the mistakes of others, and avoid repeating new mistakes of your own.
Building Identity Management Solutions
Justen Stepka
Application developers are with what seems to be an unlimited number of approaches to integrating identity management and single sign-on(SSO).
This presentation will focus on the existing solutions that are available, commerical and open-source and examples from each to help you understand what solution might best work for you. Best practices and lessons learned from popular approaches will be covered too.
Building Quality Applications with Ajax
Dion Almaer & Justin Gehtland
Ajax has revolutionized Web application development in the short year since the term was coined. What is it all about? Why are we excited about a set of capabilities that have been sitting in our browser for years? What can you do with it? And, how can you do it?
Ajax , short for Asynchronous JavaScript and XML, is a technique for communicating with servers from within a web page without causing a page refresh.
This session provides:
You will understand:
Furthermore, the issues surrounding how to create an Ajax application that doesn't turn into an unmaintainable pile of hacked up crap JavaScript will be discussed.
This talk will be presented by the founders of Ajaxian.com, a popular Ajax-related web portal.
Building Quality Applications with Ajax Frameworks
Dion Almaer & Justin Gehtland
Ajax techniques can lend tremendous richness to your Web UIs. But Ajax can be tedious and difficult to implement from scratch. Fortunately, there are a number of powerful frameworks that can make it much easier to do Ajax, including some that integrate with Java-based Web frameworks.
This session demonstrates (through live coding):
This talk will also discuss the state of Ajax support for JavaServer Faces via third-party JSF components and JSF-specific frameworks.
You will understand:
Distributed Caching: Essential Lessons
Cameron Purdy
This presentation covers application development considerations for achieving maximum scalable performance and reliability in clustered J2EE environments, improving scalability and scalable performance of applications through the use of clustered caching to reliably share live data among clustered JVMs in the application tier, providing transparent fail-over as a key element of uninterrupted operation, and reduced load on the database tier as a key element of scalability.
Dive into RIFE
Geert Bevin
RIFE is a full-stack, open-source Java web application framework, offering fast results with the promise of maintainability and code clarity. This presentation gives you an exclusive insight into its goals and underlying ideas. Through some practical examples, the most important modules are introduced and you'll understand that it's very easy to quickly cover a great distance.
Essential EJB 3.0 Persistence
Doug Clarke
A crash course introduction to EJB 3.0 Persistence of Java Enterprise Edition 5.0. The goal of this session is to demonstrate how to apply the EJB 3.0 Persistence functionality in enterprise application development. Attendees will leave with enough information to get them started building enterprise applications using this new standard. The material will be presented using live demos of application development, testing, and deployment. The persistence capabilities both within and outside of an EJB container will be highlighted.
The open source reference implementation of the EJB 3.0 Persistence, TopLink Essentials, will be used in conjunction with the Eclipse Dali EJB ORM Project tools to build an end to end application illustrating common patterns and best practices.
Extreme Web Caching
Jason Hunter
Web Caching is very important for high traffic, high performance web site but few people know all the professional-level strategies. In this talk I'll share some of the tricks of the trade, including advanced tips from Yahoo's Mike Radwin.
We'll start with the basics: using client-side caches, conditional get, and proxies. Then we'll talk about more advanced features: how best to handle personalized content, setting up an image caching server, using a cookie-free domain for static content, and using randomization in URLs for accurate hit metering or sensitive content.
Attendees should have experience or interest in how the web works and in cajoling the web into doing their bidding.
FastSOA: Applying Native XML Database Technology To Improve SOA Performance
Frank Cohen
The choices Web Service architects and developers make on XML handling libraries, XML message encoding styles and binding utilities, and XML schema design and complexity, have a great impact on the scalability and performance of the deployed service. In this presentation, Frank Cohen will show the results of a recently completed research project that show the performance characteristics of three representative use case implementations on a variety of application servers, both commercial and open-source. Cohen will describe the developer learning curve and productivity story encountered when building the implementations with a wide variety of tools. Cohen will give attendees a kit of the software, a performance test, and developer guide book to use in your own environment.
Flow with Continuations
Geert Bevin
Get back in control of the natural flow of your application.
Continuations leverage the expressiveness of Java for the creation of re-enterable execution points. This presentation explains what continuations are and why they are useful. The benefits quickly become apparent through side-by-side comparisons with traditional flow management. You'll get an overview of the different approaches of today's tools and will see that continuations are handy in many application domains.
Java Specialists in Action
Dr. Heinz Kabutz
Java has some features that make it highly flexible to work with, like putty in the hands of a craftsman. Java specialists are not shy to use advanced features like dynamic proxies, generics, enums to their advantage. In this talk, we will demonstrate some approaches of using Java's dynamic proxies to create virtual proxies, protection proxies, dynamic object adapters and dynamic decorators. A part of the talk will also explore the performance implications and compare it with the benefits gained. P.S. If you are wondering why 鈥渆num鈥?is listed under 鈥渁dvanced features鈥?you should definitely attend this talk.
JCR vs. RDBMS: Your App. is a "Content App.", 10 symptoms!
In many applications the typical short-comings of relational databases are covered up either by using database centric frameworks or even worse by using secondary storage. This shows in symptoms that we all know: Binaries go into a Filesystem, "unstructured" information is stored in XML, etc...
This session is geared to prove that a JCR compliant content repository is the ideal general purpose "Future Storage" for modern Applications that require commodity features like Versioning, Fulltext search, Hierarchy support, Ranking, Namespaces without sacrificing transactions, referencial integrity and scalability.
Expect real-life examples and code-snippets.
The Mobile Java Application Continuum
J Mobile Java has historically being confined to games and trivial applications for personal and mobile devices. Failure or reluctance on behalf of the manufacturers and carriers to implement a full range of services has prevented the wide adoption of the technology for robust applications. This presentation introduces an execution architecture for rich mobile Java applications and for interacting with e-commerce or enterprise systems. Robust mobile application design requires coordination with multiple tiers of resources and overcoming the limitations of J2ME/CLDC and the current crop of JSR implementations. This presentation will teach you how to design and implement a Java mobile application that operates in a seamless continuum from the handset device to your data warehouse and with third-party service providers.
Open Source SOA Using POJOs
James Strachan
This session will provide an overview of how folks should develop SOA applications so they can take advantage of various middleware technologies like JMS, RMI, WS, JBI, BPEL etc yet keep their code simple and POJO like and to deal with things like asynchronous messaging, ESBs and so forth showing examples using different Apache tools and frameworks.
OSWorkflow is a workflow engine from the OpenSymphony group. The talk will be an introduction of the osworkflow engine, a brief discussion of its architecture, as well as highlighting use cases and illustrating integration and usage patterns.
Patterns in Service-Oriented Architectures
If this was buzzword bingo I probably would be an instant winner with this session title. Nevertheless, patterns and service-oriented architectures do have very interesting and relevant intersection points. Both terms are fashionable, somewhat blurry and often abused. Both terms are also very much about architecture and design trade-offs 鈥?the softer side of software development. Despite all the hype, SOA brings alternative architecture styles and programming models into the mainstream. We now write software using process engines, asynchronous message flow, rules engines, transformations etc. Each style comes with a collection of patterns that should be recognized and documented so that we can build effective solutions and discuss design trade-offs outside of specific technology choices and implementations.
Persistence with iBATIS - Hands On
Clinton Begin
A wise man once said: "PowerPoint is the worst thing ever to happen to public speaking." So, in this session, Clinton will use only a Java IDE and real-world examples to demonstrate how iBATIS is used to create an effective persistence layer for your application. He will risk life and limb (or at least his reputation) coding before an audience, to build the back end of a simple Java application using a Test Driven approach. No code snippets here, the persistence layer will be coded from scratch -- with no safety net!
Portlet Development with JSF
Component-oriented user interface frameworks such as JavaServer Faces (JSF) are growing in popularity, and organizations are also beginning to recognize the power of building application components with the Portlet API. What many don't realize, however, is the fact that JSF has integrated support for the Portlet API, making it a natural fit for building portlets. This session starts with a brief overview of JSF, portlets, and portals. It then explains how JSF portlet support works, and examines the process of developing portlets with JSF. Next, it walks through the development of a simple JSF application and deployment of that application as a portlet inside of Liferay Enterprise Portal, an open-source portal server.
Code Java at the speed of light. Modern IDEs have revolutionised the way in which we are able to churn out code. But sadly, most programmers are held back by bad habits and so never fully utilise the power that is at their fingertips. This talk will demonstrate practical tips on how to go from 2nd gear to overdrive. Topics range from keyboard skills to writing useful comments to refactoring quickly and correctly. Keywords such as final, which is not so final anymore in Java 5, and tools to help you detect dead and duplicate code. Have more fun in your day-to-day Java work by becoming one with your machine.
RAD That Ain't Bad: Domain Driven Development with Trails
Chris Nelson
The Trails framework aims to take a new approach to Rapid Application Development in Java using proven frameworks like Spring, Tapestry, and Hibernate. By eliminating redundant steps in the development process and stressing convention over configuration, Trail can greatly accelerate development of RDBMS persistent web applications. In this session, we'll build a real Trails application in a few minutes, and then dive into the details of how Trails works and how to customize it to your heart's content. We'll also cover how Trails provides features you need to build real application such as validation, internationalization, and security.
Refactoring Databases: Evolutionary Database Design
Scott Ambler
Just like you can refactor your Java code, you can also refactor your database schema. Unfortunately, it's about an order of magnitude tougher to do, in part because of the increased coupling which your schema is involved with, in part because of a lack of tooling, and in part because of cultural challenges within the data community (and that's the nice way to say it). In this presentation you'll learn how to successfully overcome these challenges and discover how to take an agile approach to database development.
The standardization of JavaServer Faces has led to support for this technology in existing web application frameworks. However, most of them treat it as a view tier technology only. Shale, on the other hand, leverages the fact that JavaServer Faces includes a controller tier as well, and focuses on adding value and ease of use features, rather than redundantly implementing functionality that is already available. This session will review the key features added by Shale, as well as its place in the Struts community.
Software Visualization and Model Generation
Models are often viewed as something you create during design time and use to generate code. What if we turn the approach up-side-down and generate models from code? Humans are very good at recognizing patterns in images, making visualizations a valuable tool, for example to recognize dependencies or data flow. This is particularly true for dynamic, loosely coupled systems that are often less explicit and evolve over time. Once you have generated a model you can take things a step further and run checks and validations against it. Visualizations can also be used to plot out source code metrics over various dimensions to detect potential 鈥渉ot spots鈥?in the application that may require special attention.
This talk applies the concepts of visualization and model generation to a broad range of usage scenarios, such as asynchronous messaging, software components and object-oriented applications.
The last couple of years have seen a burst of both standardization and increased innovation in web application frameworks, to say nothing of the very quick uptake in popularity of AJAX. What does it mean for choosing server side technology? What does AJAX mean to existing frameworks? Should we all go back to rich clients instead? Come to this session for a high level overview of the present, and future, of building rich applications for the web.
Using Java Business Integration to Enable Composite Applications with ServiceMix
Bruce Snyder
Java Business Integration (JBI) is a simple API to a Normalized Message Service and Router along with a component model to facilitate the deployment and management of integration services. ServiceMix is a leading open source Enterprise Service Bus (ESB) and Service Oriented Architecture (SOA) toolkit based on the Java Business Integration
(JBI) specification. ServiceMix provides business integration capabilities using a complete JBI container and a host of JBI components including those for orchestration, rules, scheduling, transformation, validation and JBI transports including those for email, file, FTP, HTTP, JMS, RSS, VFS, VM and many more.
This session will focus on using ServiceMix in a composite application scenario that takes advantage of its JBI implementation and its use of other Java Enterprise Edition specifications.
Using the Apache License, not only can ServiceMix be deployed in a standalone configuration, but it is also fully integrated with Apache Geronimo or any other J2EE 1.4 compliant application server via the J2EE Connector Architecture (JCA). Fully embracing the Java Message Service (JMS) and Web Services standards allows ServiceMix to provide reliable and robust message delivery regardless of the message payload. The ServiceMix SOA platform provides for the managment of its JBI components via the Java Management eXtensions (JMX) using any JMX compliant management console.
XQuery for the Java Geek
Jason Hunter
XQuery is a new language from the W3C that lets you query XML -- or anything that can be represented as XML, such as relational databases.
As a Java developer -- especially a server-side Java developer -- XQuery is key to searching and manipulating large XML repositories or performing any XML-centric task.
This talk introduces XQuery to the Java developer. I'll explain the XQuery language; I'll show how to call XQuery from Java (including coverage of JSR-225, the XQuery API for Java); and I'll show the XQuery and Java code behind a sample custom book publishing application.
As the creator of JDOM, I'll also explain when to use XQuery instead of JDOM, and when to use both.
XML, Schemas and Performance
Frank Cohen
The IT world is dealing with an explosion of XML schemas and the average Java engineer is not prepared with today's XML tools and techniques. For instance, SOAP, RSS, REST, SOA schemas and protocols, and AJAX are challenging developers every day. In this session Frank Cohen will give many examples of XML schema incompatibility, inefficient and needlessly bulky code, and poor performance and scalability that come with popular XML handling libraries, tools, and techniques. Cohen will show how new strategies for on-the-fly data schema transformation, SOA metadata persistence and versioning and policy-driven intelligent data caching are viable solutions.
BOFs
The Importance of Preserving Object Identity while Clustering
Jonas Bon茅r and Patrick Calahan, Terracotta
Clustering and other forms of distributed computing are not easy in Java. The proliferation of clustered caches in the market today illustrates the need for tools to make clustering in Java easier. The problems with most current solutions are that they break Java's natural programming model 鈥?with unnatural API's and breaking fundamental object identity. This Birds of a Feather session will focus on the importance of preserving object identity in a cluster, and will illustrate a runtime system that understands the developer's domain objects and clusters objects across a cluster transparently while maintaining object identity, using detailed code examples to illustrate the concepts.