`

几道面试题(转)

阅读更多
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中的结果。
分享到:
评论

相关推荐

    ABAP_100_道面试题

    ABAP 100 道面试题 ABAP 是 SAP 公司开发的一种高级编程语言,用于开发 SAP 系统中的应用程序。本文总结了 ABAP 100 道面试题,涵盖了 ABAP 程序的结构、 Field Symbols 和 Field Groups、BDC 程序、Batch Input ...

    700道面试题.zip

    这700道面试题涵盖了Java的基础、进阶及高级知识,旨在帮助求职者准备全面的Java面试。以下是一些关键的知识点: 1. **Java基础** - 类与对象:理解面向对象编程的基本概念,包括封装、继承和多态。 - 引用类型:...

    C# 130道 面试题

    【C#面试题详解】 1. 访问修饰符的理解: - `private`:私有成员,只允许在定义它的类内部访问。 - `protected`:保护成员,允许在类自身及其派生类中访问。 - `public`:公共成员,没有访问限制,任何地方都...

    java面试题(100道)

    以下是对这100道Java面试题可能涉及的知识点的详细解读: 1. **基础语法**:面试题可能会考察Java的基础特性,如数据类型、变量、运算符、流程控制语句(if、switch、for、while等)、方法定义与调用、类与对象的...

    Linux 40 道面试题及答案.docx

    "Linux 面试题及答案" Linux 是一套免费使用和自由传播的类似 Unix 操作系统,一般的 WEB 项目都是部署放在 Linux 操作系统上面。Linux 是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统...

    自己总结的100道,面试题

    【标题】: "面试必备:精选100道前端面试题" 【描述】: "这份资料包含了一系列前端面试中常见的问题,涵盖了CSS、JavaScript、jQuery和Vue等方面,旨在帮助初级和中级开发者准备面试。” 【标签】: "面试题 初中级...

    93道网络安全面试题PDF资料

    网络安全面试题涵盖了多个关键领域的知识,包括SQL注入攻击、XSS攻击、CSRF攻击、文件上传漏洞和DDoS攻击,以及ARP协议的工作原理。下面将详细解释这些知识点: 1. **SQL注入攻击**:这是一种利用用户输入数据构造...

    面试题面试题面试题34

    面试题是评估求职者技能和知识的重要方式,特别是在IT领域。以下是对提供的面试题的详细解答: 1. **字符串翻转方法**: 实现字符串翻转,可以使用双指针技术,一个从字符串开头开始,另一个从末尾开始,交换它们...

    200道Java面试题

    【Java面试题】Java语言是IT领域广泛应用的编程语言,面试中经常涉及到多个方面的知识,以下将根据题目描述和部分内容,详细阐述Java的核心知识点。 1. **面向对象的特征**: - **抽象**:是将复杂问题简化,关注...

    C++面试题经典 300道

    《C++面试题经典300道》涵盖了C++编程语言的基础到高级概念,以下是针对题目描述和部分内容的详细解答: 1. **主函数的返回值**:在C++中,`main`函数的返回值通常用于表示程序的执行状态。`return 0`表示程序正常...

    MySQL 精选 60 道面试题(含答案)

    以下是一些关于MySQL的精选面试题及其详细解答。 1. **关系型与非关系型数据库的区别** - **关系型数据库**,如MySQL,采用关系模型,数据以表格形式存在,具有ACID(原子性、一致性、隔离性和持久性)特性,支持...

    ABAP 100 道面试题 .doc

    ABAP 面试题汇总 ABAP(Advanced Business Application Programming)是 SAP 公司开发的一种高级商业应用程序编程语言。下面是 ABAP 面试题汇总,涵盖了 ABAP 程序的结构、数据字典对象、批处理输入会话、批处理...

    稍微有点难度的10道java面试题,你会几道?

    根据给定的信息,我们将逐一分析这10个Java面试题所涉及的知识点: ### 1. JVM 对频繁调用的方法做了哪些优化? JVM(Java虚拟机)在运行时会针对频繁调用的方法进行多种优化措施,以提高程序执行效率。主要的优化...

    java100道经典面试题

    以上知识点仅仅是冰山一角,100道面试题会涵盖更多细节和实际问题的解决方案。对于求职者而言,掌握这些核心概念并能灵活运用是成功通过面试的关键。而对在职开发者来说,持续学习和回顾这些知识点也是保持技能更新...

    前端75道经典面试题.rar

    "前端75道经典面试题.rar"这个压缩包提供了互联网大厂常问的75道前端面试题,覆盖了基础到进阶的多个层面,是提升你面试能力的理想资料。以下是一些可能包含在这些面试题中的关键知识点: 1. **HTML与CSS**: - ...

    Java面试题基础篇

    面试题中有多道题目考察了面向对象编程的基础知识,例如super()与this()的区别、变量作用域的区别等。 2. 变量作用域 变量作用域是 Java 语言中一个重要的概念,包括public、protected、private 等访问修饰符。面试...

    精通 Java 必备的 100 道面试题

    精通 Java 必备的 100 道面试题 在 Java 开发中,了解 MySQL 数据库的知识点是非常重要的。本文将通过对 MySQL 的知识点进行总结,帮助 Java 开发者更好地理解 MySQL 的工作原理和应用。 MySQL 的逻辑架构 MySQL ...

    几道常见的嵌入式开发C语言面试题

    本文总结了几道常见的嵌入式开发C语言面试题,涵盖了无限循环、volatile关键字、位操作、指针操作等方面的知识点。 一、无限循环 在嵌入式系统中,经常需要使用无限循环,而C语言中可以使用while(1) { }、for(;;) ...

    10万字208道Java经典面试题总结(附答案).pdf

    这份10万字的PDF文档包含了208道Java经典面试题,旨在帮助开发者们系统地复习和提升自己的技能,以应对包括阿里、腾讯、字节跳动、京东等知名互联网公司的面试。以下是部分题目及其涉及的知识点: 1. **JDK和JRE的...

    JAVA常见面试题300道

    ### JAVA常见面试题300道之精选知识点解析 #### 1. Java 为何被称为平台无关的语言? Java 是一种能够跨平台运行的编程语言。它通过编译源代码(.java 文件)为字节码(.class 文件),使得在任何安装了 Java ...

Global site tag (gtag.js) - Google Analytics