上上個周一,在前一天項目剛提交,周一早上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) に しておくと効率が良い。各種各樣的連接表中,有的對視圖也起作用。
結合は、テーブルとテーブル、ビューとビュー、テーブ ルとビューなど複雑にできる。(テーブル連結)連接可以在數據表和數據表之間,視圖和視圖之間,數據表和視圖之間復雜的進行。
■単純結合 簡單連接 ?現実的に単純結合を使う機會はないだろう。實際上簡單結合沒有什么使用的機會。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 の全レコードが結合される。
在下面的例子中,在受注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 (+);