上上個(gè)周一,在前一天項(xiàng)目剛提交,周一早上2點(diǎn)開始睡覺,5:40又起床參加用友的面試去。其實(shí)我沒有給用友投簡歷,那個(gè)負(fù)責(zé)人打電話給我說看到我的簡歷了,然后問了一些java基礎(chǔ)知識(shí),我沒有一個(gè)答對了。結(jié)果人家指定了出題范圍,說那我給你兩周的時(shí)間,你學(xué)習(xí)一下,來參加面試吧。到了面試這一天,首先進(jìn)行筆試,給了7,8頁紙的題。我估計(jì)自己只做對了兩道。然后是技術(shù)面試,那個(gè)給我打電話的負(fù)責(zé)人自己面試我。負(fù)責(zé)人拿著我的筆試題目,告訴我哪道題做得不對,然后啟發(fā)式的誘導(dǎo)我給出一個(gè)符合他心意的答案。可是我只睡了這么幾個(gè)小時(shí),而且之前是一只連續(xù)的加班,覺得自己的頭腦都沒有思考能力了,最終我只是說我不會(huì)。那個(gè)負(fù)責(zé)人說那你大概是屬于實(shí)戰(zhàn)型的。于是讓我上機(jī)做題。考察的數(shù)據(jù)庫的方面,自然是會(huì)做,可是那個(gè)負(fù)責(zé)人說要我設(shè)計(jì)成一個(gè)方便使用的,于是我就開始改。已經(jīng)是中午的時(shí)間了,負(fù)責(zé)人喊我一起吃飯。后來朋友告訴我,這是人事面試。吃完飯,繼續(xù)上機(jī),我當(dāng)時(shí)心里稍稍有點(diǎn)想放棄的感覺,因?yàn)樽约捍鸬脤?shí)在太差了,而且我真的累了。后來負(fù)責(zé)人再啟發(fā)我按他的思路來的時(shí)候,我只是聽著,并不打算做了。負(fù)責(zé)人說那咱們再到外面去談一談。負(fù)責(zé)人告訴我他覺得基礎(chǔ)是挺差的。但是這關(guān)系不大,他更想要一個(gè)聰明的,學(xué)習(xí)能力強(qiáng)的。這樣培養(yǎng)半年就差不多了,可以幫幫他的忙,他總是一遍一遍的給手下人講這將那的,太累了。他說一是這邊女孩子比例已經(jīng)有點(diǎn)大,另外我基礎(chǔ)實(shí)在不行,所以猶豫了一下。看我很有自信心,還是決定帶我去參加人力資源部的面試了。可以人力資源部的人正好沒空,于是讓我下周再來。那個(gè)負(fù)責(zé)人就給我指定了更具體的學(xué)習(xí)范圍。不過那一周,也就是上周沒有人打電話給我去參加人力資源部的面試,應(yīng)該是人家又找到更合適的了吧。但是我確實(shí)到現(xiàn)在都在按照他的指導(dǎo)在進(jìn)行學(xué)習(xí),這兩天面試做java基礎(chǔ)題非常的順手,面試人員都說我基礎(chǔ)知識(shí)很扎實(shí)。而僅僅在兩周之前,真的是問我什么我都不會(huì)啊。真的很想再讓那個(gè)負(fù)責(zé)人面試一下,證明給他看我真的是學(xué)東西特別快。我相信他可能看起來會(huì)嚴(yán)厲一些,卻是個(gè)好老師,好leader。如果有機(jī)會(huì),真的想和他一起工作。
我可憐的彼氏這么晚了,仍然加班中……感覺自己技術(shù)上確實(shí)有很多欠缺。又很久沒有參加coding了,對技術(shù)反應(yīng)稍顯遲鈍。所以我決定先做一段時(shí)間的項(xiàng)目,再找一個(gè)自己喜歡的工作。基于這個(gè)想法,上周三時(shí)參加了一個(gè)為期三周的小項(xiàng)目的招聘面試,周四就上班了。
這個(gè)項(xiàng)目的業(yè)務(wù):saas
所用技術(shù):struts框架 + tomcat服務(wù)器 + oracle數(shù)據(jù)庫 + JSP + java
目前我只負(fù)責(zé)后臺(tái),struts框架和JSP基本沒有接觸。
在第一天配置環(huán)境的時(shí)候,tomcat插件的安裝出了點(diǎn)問題。
按理說,我配置好了jdk1.5,設(shè)置好了java和tomcat的環(huán)境變量,把eclipse和tomcat安裝上了,再把tomcat的插件放到eclipse的plugins包下,應(yīng)該就沒什么問題了。可是我因?yàn)橐靡粋€(gè)工程的代碼,就考了同事的workspace,結(jié)果在eclipse,點(diǎn)tomcat的啟動(dòng)圖標(biāo),啟動(dòng)不了tomcat。所有的配置都正確,太奇怪了,怎么都找不到原因。而且可以新建一個(gè)tomcat的服務(wù),而且可以啟動(dòng)。最后,新建了一個(gè)workspace,清了一下設(shè)置,終于好使了。但是總有點(diǎn)不甘心,不知道到底哪個(gè)設(shè)置有問題。
今天面試了一家直接赴日的公司,老板對我的各方面什么都滿意,沒什么可說的。但是和日本有關(guān)的公司就是程序比較多,說過幾天安排二面。如果二面不通過,人家會(huì)聯(lián)系別的部門再給我面試。明天打算休息,學(xué)點(diǎn)東西。這幾天翻譯來了,和人家一比,才發(fā)現(xiàn)自己的日語說的真的不行。但是真的沒有翻譯的時(shí)候,大家基本都能自己來交流,大家說,聽不懂整句話可以聽關(guān)鍵詞,自己說不出整句話可能只說關(guān)鍵詞,這樣都可以溝通了。所以加強(qiáng)對關(guān)鍵詞的理解,才能了解到客戶的意圖。
様々な連結(jié)テーブルが作成できるが、良く使うものはビュー(create view) に しておくと効率が良い。各種各樣的連接表中,有的對視圖也起作用。
結(jié)合は、テーブルとテーブル、ビューとビュー、テーブ ルとビューなど複雑にできる。(テーブル連結(jié))連接可以在數(shù)據(jù)表和數(shù)據(jù)表之間,視圖和視圖之間,數(shù)據(jù)表和視圖之間復(fù)雜的進(jìn)行。
■単純結(jié)合 簡單連接 ?現(xiàn)実的に単純結(jié)合を使う機(jī)會(huì)はないだろう。實(shí)際上簡單結(jié)合沒有什么使用的機(jī)會(huì)。It is known to all that ours is an age of information characterized by innumberable inventions beyond our wildest imagination even decades age. Eletronic dictionaries have found their way into numerous students's backpacks; digital cameras have gained increasing popularity among common households. Now surprisingly, some even claim that e-books will take the place of traditonal ones.
次の例では、受注m の各レコードに 品番m の全レコードが結(jié)合される。
在下面的例子中,在受注m的各種記錄里,品番m的所有記錄都被結(jié)合了。
受注m のレコード數(shù) x 品番m のレコード數(shù)の結(jié)果が問い合わされる。
受注m的記錄數(shù)*品番m的記錄數(shù)的結(jié)果被查詢出來。 select * from sak.受注m, sak.品番m; ■等価結(jié)合 等價(jià)連接 ?等価結(jié)合は、特定のキーで表を結(jié)合します。等價(jià)連接是用特定的鍵來進(jìn)行表的結(jié)合的。
條件のどちらかのデータが存在しない場合、結(jié)果セットには含まれません。
如果有條件在數(shù)據(jù)表里不存在,在結(jié)果集里就沒有這一條記錄。
現(xiàn)実的には外部結(jié)合が一番使いやすいと思います。在實(shí)際上,外部結(jié)合是最容易使用的。
select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù) from sak.受注m, sak.品番m where 受注m.品番 = 品番m.品番 ; ?列の別名定義は、as を指定してもよい。列的別名指定,也可以用as來實(shí)現(xiàn)。
結(jié)合テーブルに同じ項(xiàng)目名が存在する場合は、どちらのテーブル項(xiàng)目か指定するため、テーブル名で修飾する。(受注m.品番)
在連接表中如果有相同的項(xiàng)目名存在,為了讓每一個(gè)項(xiàng)目都被指定,就用項(xiàng)目名來修飾。
select 受注番號(hào), 受注m.品番 as 品番, 品番m.入庫數(shù) as 入庫數(shù) from sak.受注m, sak.品番m where 受注m.品番 = 品番m.品番; ?inner join を使用して、等価結(jié)合することもできます。(インナージョイン)
使用inner join,也可以進(jìn)行等價(jià)連接。
select 受注番號(hào), 受注m.品番 as 品番, 品番m.入庫數(shù) as 入庫數(shù) from sak.受注m inner join sak.品番m on 受注m.品番 = 品番m.品番; ?3 つ以上の結(jié)合を inner join で指定するには、次のようにする。
如果有三個(gè)以上要指定inner join 來進(jìn)行連接的時(shí)候,可以像下面這樣做。
select * from (sak.受注m inner join sak.品番m on 受注m.品番 = 品番m.品番) inner join sak.得意先m on 受注m.得意先CD = 得意先m.得意先CD; ■非等価結(jié)合 非等價(jià)連接 ?非常に時(shí)間のかかる結(jié)合ですが、必要な場面があるかもしれない。雖然很花時(shí)間,但有時(shí)候也要進(jìn)行下面的檢索。
なにがしかの範(fàn)囲條件で結(jié)合する場合に使います。和檢索條件的一部分進(jìn)行連接。
select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù) from sak.受注m, sak.品番m where 受注m.機(jī)種 like substr(品番m.機(jī)種, 1, 2);
■外部結(jié)合 外結(jié)合、行結(jié)合、行連結(jié)、テーブル結(jié)合、外部接合
外部連接 外連接,行連接,表連接,外部連接
?外部結(jié)合は、一番よく使用します。外部連接是最經(jīng)常使用的。
一方の條件に対するデータが存在しなかった場合でも片方のデータを結(jié)果セ ットに含める指定ができます。
對于一方的條件即使不存在,也可以使結(jié)果集包含一邊的數(shù)據(jù)。
次の例では、品番m にない品番の受注m レコードも結(jié)果に含まれます。
在下面的例子中,在品番m中沒有的品番受注m記錄的結(jié)果也包含了進(jìn)來。
この場合、入庫數(shù)などの 品番m 項(xiàng)目には NULL がセットされて問い合わさ れます。Oracle では、left join、right join を (+) で指定できます。
這時(shí)候,入庫數(shù)等的品番m項(xiàng)目里被設(shè)定了NULL值。在oracle里,left join,right join 可以用(+)來指定。
(左結(jié)合、右結(jié)合、複數(shù)テーブル問い合わせ、複數(shù)テーブル?yún)⒄? (複數(shù)問い合わせ、複合テーブル?yún)⒄铡ⅴ欹榨去弗绁ぅ蟆ⅴ楗ぅ去弗绁ぅ?
(左連接,右連接,多個(gè)表查詢,多個(gè)表參照,左連接,右連接)
select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù) from sak.受注m, sak.品番m where 受注m.品番 = 品番m.品番 (+); select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù) from sak.受注m left join sak.品番m on 受注m.品番 = 品番m.品番; ?逆に受注m にない品番の品番m レコードを結(jié)果に含ませることもできます。 現(xiàn)実的には、こういう結(jié)合に意味はありませんが、逆の和もできると言うこ とです。
?相反不在受注m里的品番m記錄也可以在結(jié)果里包含。在實(shí)際中,雖然沒有這么用的,但是(+)也可以放在=之前。
select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù) from sak.受注m, sak.品番m where 受注m.品番 (+) = 品番m.品番; select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù) from sak.受注m right join sak.品番m on 受注m.品番 = 品番m.品番; ?三つ以上の表を結(jié)合することもできます。(3 テーブル結(jié)合)
?也可以進(jìn)行三個(gè)表以上的表連接。(三表連接)
次の例では、品番に対する品番m.入庫數(shù)、得意先CD に対する得意先m.得意 先名を結(jié)合しています。(left join を使用しても良い。)
在下面的例子中,對于品番的品番m.入庫數(shù),對于得意先CD的得意先m.得意先名來進(jìn)行連接。(也可以使用左連接)
select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù), 受注m.得意先CD 得意先CD, 得意先m.得意先名 得意先 from sak.受注m, sak.品番m, sak.得意先m where 受注m.品番 = 品番m.品番 (+) and 受注m.得意先CD = 得意先m.得意先CD (+); select 受注番號(hào), 受注m.品番 品番, 品番m.入庫數(shù) 入庫數(shù), 受注m.得意先CD 得意先CD, 得意先m.得意先名 得意先 from (sak.受注m left join sak.品番m on 受注m.品番 = 品番m.品番) left join sak.得意先m on 受注m.得意先CD = 得意先m.得意先CD; ?複數(shù)の表を結(jié)合すると修飾が難解になりがちなので、テーブル別名を使うと 良いです。
如果多個(gè)表進(jìn)行連接,修飾會(huì)變得很復(fù)雜,也可以使用表別名。
select 受注番號(hào), a.品番 品番, b.入庫數(shù) 入庫數(shù), a.得意先CD 得意先CD, c.得意先名 得意先 from sak.受注m a, sak.品番m b, sak.得意先m c where a.品番 = b.品番 (+) and a.得意先CD = c.得意先CD (+); ** 外部結(jié)合を明示するために left join を left outer join、right join を right outer join と書くこともできる。
** 為了明確外部連接,也可以把left join 寫成 left outer join, right join寫成right outer join。
(アウタージョイン、レフトアウタージョイン、ライトアウタージョイン)
(outer join, left outer join, right outer join)
■再帰結(jié)合(內(nèi)部結(jié)合) 回歸連接(內(nèi)部結(jié)合) ?再帰結(jié)合は、同じテーブルをテーブル別名を使用して結(jié)合します。
?回歸連接是相同的表來用別名來進(jìn)行連接的。
次の例では、得意先m に親得意先CD があるとして、その得意先名を自分自 身と結(jié)合しています。(自己結(jié)合)
在下面的例子中,以得意先作為父得意先,然后用這個(gè)名字來進(jìn)行自身連接。
select a.得意先CD 得意先CD, a.得意先名 得意先, a.親得意先CD 親得意先CD, b.得意先名 得意先 from sak.得意先m a, sak.得意先m b where a.得意先CD = b.親得意先CD (+);