氟塑料離心泵www.buybeng.com

          jquery教程http://www.software8.co/wzjs/jquery/

          幾道面試題

          最近正在換工作,面試了幾家公司,做了一些筆試題,現(xiàn)把其中幾道還有點(diǎn)意思的題貼出來。在這邊文章中我想先把這幾道題貼出來,之后再進(jìn)行解答。

          1.如何用一條語句把一張表的數(shù)據(jù)插入到另一張數(shù)據(jù)庫表中?

           

          2.如何用一條語句把一張表的數(shù)據(jù)插入到另一張不存在的數(shù)據(jù)庫表中?

           

          3.有如下A、B兩個表,如何將A表的數(shù)據(jù)查詢出來,結(jié)果如B所示?

                   A表:

          姓名

          科目

          分?jǐn)?shù)

          張三

          語文

          60

          李四

          數(shù)學(xué)

          65

          張三

          英語

          70

          張三

          數(shù)學(xué)

          75

          李四

          語文

          80

          李四

          英語

          68

           

                   B表:

          姓名

          語文

          數(shù)學(xué)

          英語

          總分

          張三

           

           

           

           

          李四

           

           

           

           

           

          4.有如下幾個類,我先運(yùn)行TestA,再運(yùn)行TestB,那么:

                   class A:

          Java代碼  收藏代碼
          1. public class A {  
          2.     public static int a = 6;  
          3. }  

           

          class TestA:

          Java代碼  收藏代碼
          1. public class TestA {  
          2.     public static void main(String args[]) {  
          3.        A a = new A();  
          4.        a.a++;  
          5.        System.out.println(a.a);  
          6.     }  
          7. }  

           

          class TestB:

          Java代碼  收藏代碼
          1. public class TestB {  
          2.     public static void main(String args[]) {  
          3.        A b = new A();  
          4.        System.out.println(b.a);  
          5.     }  
          6. }  

           

          (1)運(yùn)行TestA的時候輸出的結(jié)果是什么?

           

          (2)運(yùn)行TestB的時候輸出的結(jié)果是什么?

           

          (3)運(yùn)行TestA和TestB的結(jié)果為什么相同或不相同(站長網(wǎng))?

           

           


           解答:

           

          1.如何用一條語句把一張表的數(shù)據(jù)插入到另一張數(shù)據(jù)庫表中?

           

          Sql代碼  收藏代碼
          1. insert into tableA select * from tableB  

           

          2.如何用一條語句把一張表的數(shù)據(jù)插入到另一張不存在的數(shù)據(jù)庫表中?

           

          Sql代碼  收藏代碼
          1. select * into tableB from tableA;  
          2. -------或者是下面這種寫法  
          3. create table tableB as select * from tableA;  

           

          3.有如下A、B兩個表,如何將A表的數(shù)據(jù)查詢出來,結(jié)果如B所示?

                   A表:

          姓名

          科目

          分?jǐn)?shù)

          張三

          語文

          60

          李四

          數(shù)學(xué)

          65

          張三

          英語

          70

          張三

          數(shù)學(xué)

          75

          李四

          語文

          80

          李四

          英語

          68

           

                   B表:

          姓名

          語文

          數(shù)學(xué)

          英語

          總分

          張三

           

           

           

           

          李四

           

           

           

           

          這里我們用一個t_student表來表示A表,其建表語句如下所示:

          Sql代碼  收藏代碼
          1. create table t_student(name varchar2(4), course varchar2(4), score int);  

          那么這個時候要用一條SQL語句把A表的數(shù)據(jù)查詢出B表的結(jié)果,我們可以如下定義我們的SQL語句:

          Sql代碼  收藏代碼
          1. select a.name 姓名,sum(case when course='語文' then score end) 語文,sum(cas  
          2. when course='英語' then score end) 英語,sum(case when course='數(shù)學(xué)' then score  
          3.  end) 數(shù)學(xué),b.total 總分 from t_student a, (select namesum(score) total from t_  
          4. student group by name) b where a.name=b.name group by a.name,b.total order by a.  
          5. name desc;  

           這條語句的總體思路是:

          • 先用分組的形式查詢出每個人的總成績
          • 用case when的形式把課程列分為多列,這樣滿足的那一列的成績就是當(dāng)前人當(dāng)前課程的成績,其他的成績在當(dāng)前行為空

          姓名       語文       數(shù)學(xué)       英語

          ---- ---------- ---------- ----------

          張三         60

          張三                    75

          張三                               70

          李四                               68

          李四         80

          李四                    65

           

          • 把上述兩個結(jié)果按照相同的姓名連接起來并按照姓名和總分分組,這樣我們查詢出來的結(jié)果就可以顯示姓名和總分,那么我們沒有按照成績進(jìn)行分組,那么當(dāng)我們用分組語句的時候該如何查詢出我們的成績呢?這個時候sum就起作用了,根據(jù)之前分析的,每個人每門成績只有一個有效值,其他的為空,所以我們對它進(jìn)行匯總的結(jié)果還是其當(dāng)前課程的成績,這就可以滿足我們在分組的情況下查詢出對應(yīng)的成績。(在進(jìn)行分組查詢的時候,只能查詢出對應(yīng)的分組字段和統(tǒng)計(jì)字段)
          • 最后一步進(jìn)行排序是為了按照“張三”,“李四”那樣的順序排列

           上面查詢出來的結(jié)果會如下所示:

          姓名       語文       英語       數(shù)學(xué)       總分

          ------ ------ ------- ------- --------

          張三         60         70         75        205

          李四         80         68         65        213

           

          4.有如下幾個類,我先運(yùn)行TestA,再運(yùn)行TestB,那么:

                   class A:

          Java代碼  收藏代碼
          1. public class A {  
          2.     public static int a = 6;  
          3. }  

           

          class TestA:

          Java代碼  收藏代碼
          1. public class TestA {  
          2.     public static void main(String args[]) {  
          3.        A a = new A();  
          4.        a.a++;  
          5.        System.out.println(a.a);  
          6.     }  
          7. }  

           

          class TestB:

          Java代碼  收藏代碼
          1. public class TestB {  
          2.     public static void main(String args[]) {  
          3.        A b = new A();  
          4.        System.out.println(b.a);  
          5.     }  
          6. }  

           

          (1)運(yùn)行TestA的時候輸出的結(jié)果是什么?

           7

          (2)運(yùn)行TestB的時候輸出的結(jié)果是什么?

           6

          (3)運(yùn)行TestA和TestB的結(jié)果為什么相同或不相同?

           雖然變量a是類A的靜態(tài)變量,但是TestATestB是兩個不同的應(yīng)用程序,TestA中改變的變量a的值不會影響到TestB中的結(jié)果。

          posted on 2013-03-05 14:04 你爸是李剛 閱讀(2496) 評論(3)  編輯  收藏

          評論

          # re: 幾道面試題 2013-03-05 18:41 Irving

          長見識了,之前沒意識到這種問題  回復(fù)  更多評論   

          # re: 幾道面試題[未登錄] 2013-03-12 13:14 文林

          博主,第四道題第三問考察類加載的問題吧。另外,訪問類的靜態(tài)成員應(yīng)該不需要實(shí)例化,直接A.a 就可以了,示例代碼有點(diǎn)奇怪。  回復(fù)  更多評論   

          # re: 幾道面試題 2013-08-19 20:32 南云

          木有意思吧。。
          第一道就是一個select into from與insert into select區(qū)別?
          第二道,兩個程序分別在一個JVM里面運(yùn)行,沒半毛錢關(guān)系,ps,李剛瘋狂java里面的題目
          第三道,用行轉(zhuǎn)列函數(shù)更快,ms和oracle各有各的方法。。  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          技術(shù)網(wǎng)站

          行業(yè)網(wǎng)站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          站長網(wǎng) 氟塑料離心泵 注塑機(jī) 液晶廣告機(jī)
          主站蜘蛛池模板: 泰来县| 梓潼县| 惠东县| 辉南县| 元朗区| 高安市| 凌云县| 乐东| 洮南市| 政和县| 东莞市| 基隆市| 伊金霍洛旗| 陆良县| 景泰县| 东山县| 海盐县| 南靖县| 新平| 江川县| 襄城县| 五大连池市| 集安市| 香格里拉县| 长阳| 仙桃市| 泗洪县| 久治县| 武邑县| 内黄县| 唐海县| 株洲县| 博乐市| 苍南县| 盐边县| 布拖县| 乐亭县| 清河县| 周宁县| 遂昌县| 平顶山市|