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