氟塑料離心泵www.buybeng.com

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

          幾道面試題

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

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

           

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

           

          3.有如下A、B兩個表,如何將A表的數據查詢出來,結果如B所示?

                   A表:

          姓名

          科目

          分數

          張三

          語文

          60

          李四

          數學

          65

          張三

          英語

          70

          張三

          數學

          75

          李四

          語文

          80

          李四

          英語

          68

           

                   B表:

          姓名

          語文

          數學

          英語

          總分

          張三

           

           

           

           

          李四

           

           

           

           

           

          4.有如下幾個類,我先運行TestA,再運行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)運行TestA的時候輸出的結果是什么?

           

          (2)運行TestB的時候輸出的結果是什么?

           

          (3)運行TestA和TestB的結果為什么相同或不相同(站長網)?

           

           


           解答:

           

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

           

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

           

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

           

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

           

          3.有如下A、B兩個表,如何將A表的數據查詢出來,結果如B所示?

                   A表:

          姓名

          科目

          分數

          張三

          語文

          60

          李四

          數學

          65

          張三

          英語

          70

          張三

          數學

          75

          李四

          語文

          80

          李四

          英語

          68

           

                   B表:

          姓名

          語文

          數學

          英語

          總分

          張三

           

           

           

           

          李四

           

           

           

           

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

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

          那么這個時候要用一條SQL語句把A表的數據查詢出B表的結果,我們可以如下定義我們的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='數學' then score  
          3.  end) 數學,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的形式把課程列分為多列,這樣滿足的那一列的成績就是當前人當前課程的成績,其他的成績在當前行為空

          姓名       語文       數學       英語

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

          張三         60

          張三                    75

          張三                               70

          李四                               68

          李四         80

          李四                    65

           

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

           上面查詢出來的結果會如下所示:

          姓名       語文       英語       數學       總分

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

          張三         60         70         75        205

          李四         80         68         65        213

           

          4.有如下幾個類,我先運行TestA,再運行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)運行TestA的時候輸出的結果是什么?

           7

          (2)運行TestB的時候輸出的結果是什么?

           6

          (3)運行TestA和TestB的結果為什么相同或不相同?

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

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

          評論

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

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

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

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

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

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


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


          網站導航:
           
          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          技術網站

          行業(yè)網站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          站長網 氟塑料離心泵 注塑機 液晶廣告機
          主站蜘蛛池模板: 隆昌县| 普定县| 禄丰县| 鸡泽县| 边坝县| 兴文县| 余姚市| 田阳县| 莱芜市| 筠连县| 屯留县| 大余县| 宁乡县| 凤翔县| 普兰店市| 延庆县| 沿河| 建湖县| 江阴市| 汾阳市| 元朗区| 宜州市| 厦门市| 靖宇县| 井陉县| 蒙山县| 济宁市| 瑞昌市| 高尔夫| 黄石市| 上高县| 哈巴河县| 固始县| 台南市| 杭州市| 公安县| 遵义县| 黔南| 南丹县| 息烽县| 永寿县|