`

几道面试题(转)

阅读更多
1.如何用一条语句把一张表的数据插入到另一张数据库表中?
insert into tableA select * from tableB  

2.如何用一条语句把一张表的数据插入到另一张不存在的数据库表中?
select * into tableB from tableA;   
-------或者是下面这种写法   
create table tableB as select * from tableA;  

3.有如下A、B两个表,如何将A表的数据查询出来,结果如B所示?
A表
     姓名            科目            分数    
     张三             语文            60     
     李四             数学            65     
     张三            英语            70     
     张三            数学            75     
     李四             语文            80     
     李四            英语            68

B表
     姓名           语文            数学           英语           总分    
     张三                                                        
     李四                                                       

这里我们用一个t_student表来表示A表,其建表语句如下所示:
create table t_student(name varchar2(4), course varchar2(4), score int);  
那么这个时候要用一条SQL语句把A表的数据查询出B表的结果,我们可以如下定义我们的SQL语句:
1.select a.name 姓名,sum(case when course='语文' then score end) 语文,sum(cas   
e when course='英语' then score end) 英语,sum(case when course='数学' then score   
end) 数学,b.total 总分 from t_student a, (select name, sum(score) total from t_   
student group by name) b where a.name=b.name group by a.name,b.total order by a.   
name desc;  

这条语句的总体思路是:

•先用分组的形式查询出每个人的总成绩
•用case when的形式把课程列分为多列,这样满足的那一列的成绩就是当前人当前课程的成绩,其他的成绩在当前行为空
姓名       语文       数学       英语
---- ---------- ---------- ----------
张三         60
张三                    75
张三                               70
李四                               68
李四         80
李四                    65

•把上述两个结果按照相同的姓名连接起来并按照姓名和总分分组,这样我们查询出来的结果就可以显示姓名和总分,那么我们没有按照成绩进行分组,那么当我们用分组语句的时候该如何查询出我们的成绩呢?这个时候sum就起作用了,根据之前分析的,每个人每门成绩只有一个有效值,其他的为空,所以我们对它进行汇总的结果还是其当前课程的成绩,这就可以满足我们在分组的情况下查询出对应的成绩。(在进行分组查询的时候,只能查询出对应的分组字段和统计字段)
•最后一步进行排序是为了按照“张三”,“李四”那样的顺序排列
上面查询出来的结果会如下所示:

姓名       语文       英语       数学       总分
------ ------ ------- ------- --------
张三         60         70         75        205
李四         80         68         65        213

4.有如下几个类,我先运行TestA,再运行TestB,那么:
class A:
public class A {   
    public static int a = 6;   
}  

class TestA:
public class TestA {   
    public static void main(String args[]) {   
       A a = new A();   
       a.a++;   
       System.out.println(a.a);   
    }   
}  

class TestB:
public class TestB {   
    public static void main(String args[]) {   
       A b = new A();   
       System.out.println(b.a);   
    }   
}  

(1)运行TestA的时候输出的结果是什么?
7

(2)运行TestB的时候输出的结果是什么?
6

(3)运行TestA和TestB的结果为什么相同或不相同?
虽然变量a是类A的静态变量,但是TestA和TestB是两个不同的应用程序,TestA中改变的变量a的值不会影响到TestB中的结果。
分享到:
评论

相关推荐

    Linux 40 道面试题及答案.docx

    Linux 40 道面试题及答案.docx

    java208道面试题.zip

    java面试题,转自java团长,整理成word版,方便查看和打印

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    Java百道面试题,仅供参考

    49、列出一些你常见的运行时异常? 答: ArithmeticException(算术异常) ClassCastException (类转换异常) IllegalArgumentException (非法参数异常) ...IndexOutOfBoundsException (下表越界异常) ...

    125道java面试题

    125道java面试题,转自源码帝国,给所有爱好java的人

    50道SQL面试题.md

    mysql50道SQL面试题

    java面试题集锦 基础题 java工程师面试

    刚找到的,其中有很多重的,但是非常的多!java面试题集锦 基础题 java工程师面试!!

    阿里面试 - 蚂蚁金服前端面试题

    大厂面试题,岗位前端开发工程师,阿里旗下,蚂蚁金服,一面原题,共5道在线编程题,不含答案!仅供参考学习!涉及防抖、进制转换、模板引擎、事件订阅、数组转换等。

    Java 最常见的 208 道面试题:第二模块答案

    Java 最常见的 208 道面试题:第二模块答案 18. java 容器都有哪些? 19. Collection 和 Collections 有什么区别? 20. List、 Set、 Map 之间的区别是什么? 21. HashMap 和 Hashtable 有什么区别? 22. 如何决定...

    程序员面试题精选100题

    程序员面试题精选 100 题(01)-把二元查找树转变成排序的 双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点, 只调整指针的指向。 程序员面试题精选 100 题...

    Golang 面试题汇编

    记一道字节跳动的算法面试题 多协程查询切片问题 对已经关闭的的chan进行读写,会怎么样?为什么? 简单聊聊内存逃逸? 字符串转成byte数组,会发生内存拷贝吗? http包的内存泄漏 sync.Map 的用法 Golang 理论 Go...

    国外经典逻辑面试题集合

    收集了经常出现的逻辑面试题目: 1.为什么下水道的盖子是圆的? 2.中国有多少辆汽车? 3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中...

    Mysql高频面试题(含答案)

    分享的这个压缩包里,包含mysql高频面试题10道,mysql普通面试题40道,mysql面试题(含答案) 如何准备数据分析师的面试,一应俱全,你需要的全都有。 第1阶段:面试开始,逃不掉的自我介绍 第2阶段:考察能力的技术...

    精选面试题1000道及答案

    公务员面试特点、面试测评的特点和程序   1、面试的考察手段是以谈话和观察为主  谈话是面试过程中的一项非常重要的手段。在面试过程中,主考官通过向应试者提出各种问题;应试者要对这些问题进行回答,主考官...

    golang面试题集合.zip

    记一道字节跳动的算法面试题 多协程查询切片问题 对已经关闭的的chan进行读写,会怎么样?为什么? 简单聊聊内存逃逸? 字符串转成byte数组,会发生内存拷贝吗? http包的内存泄漏 sync.Map 的用法 Golang 理论 Go...

    java面试基础知识150题

    java面试基础知识150题,docx格式!大家自己转换一下吧!

    JAVA面试题汇总(包括面试题答案)

    本资源为本人在网上收集整理,并经转换、合并为一个PDF文档,上传与大家分享,期望有所帮助!

    1000道软件测试面试题及答案,面试不求人

    一、简介 1-1-文档说明 1-2-离线版本说明 1-3-微信小程序刷题工具介绍 二、职业规划 2-1-简单的自我介绍下 2-2-为什么离职 2-3-加班的看法 2-4-你还有什么问题要问- 2-5-你的职业发展规划和职业目标 ...

    40道MyBatis面试题带答案(很全)

    MyBatis是一款优秀的持久层框架,用于支持普通SQL查询、存储过程和高级映射。它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。 MyBatis前身叫iBatis,本是Apache的一个开源项目,2010年由apache ...

    Java面试宝典2017.chm

    Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又...转而去看面试题,但是网上面试题太多但又不全,查找很不方便,多是看过的又看,看十道才能看到面生的题目,极大的浪费了求职期间的宝贵时间。

Global site tag (gtag.js) - Google Analytics