`

数据库面试(一)

阅读更多

1.用一条sql语句,查询出每门课都大于80分的学生姓名。

 

name kecheng fenshu

张三 语文 81

张三 数学 75

李四 语文 76

李四 数学 90

王五 语文 81

王五 数学 100

王五 英语 90

 

select distinct t1.name
from stu_grade t1 
where t1.name not in (
	select distinct t2.name from stu_grade t2 where t2.fenshu < 80
);

 

 

2.学生表如下:

id sn name course_id course_name grade

1 2005001 张三 0001 数学 69

2 2005002 李四 0001 数学 89

3 2005001 张三 0001 数学 69

删除除了id不同,其他都相同的学生冗余信息。

 

#oracle
delete from student 
where id not in (
	select min(id) from student as t group by sn,name,course_id,course_name,grade
);

 

(1)在where的左右都不能使用组函数;

(2)一般,可以使用exists代替in,但是在in的条件中使用了组函数查询到值,就不能用exists代替。

 

 

#mysql
delete student as a from student as a,
(
select *, min(id) from student group by sn,name,course_id,course_name,grade having count(1) >1
) as b
where a.sn=b.sn
and a.name=b.name
and a.course_id=b.course_id
and a.course_name=b.course_name
and a.grade=b.grade
and a.id>b.id;

 

 

#mysql
delete from student 
where id not in (
	select temp.value from (select min(id) value from student as t group by sn,name,course_id,course_name,grade) as temp
);
 

 

3. 插入相同记录。

 

insert into student(sn,name,course_id,course_name,grade) select sn,name,course_id,course_name,grade from student where id=7;

 

 

4.现有球队表team,只有一个字段name,共4条记录,A,B,C,D为四只球队的名称。4只球队进行比赛,用一条sql语句写出所有可能比赛的组合。

 

select t2.name, t1.name from team t1, team t2 where t1.name != t2.name;
 

 

5. 原表为:

course_id course_name score

1 java 70

2 oracle 90

3 xml 40

4 jsp 30

5 servlet 80

为了便于阅读,查询此表后的结果显示如下:(及格分数为60):

 

course_id course_name score mark

1 java 70 pass

2 oracle 90 pass

3 xml 40 fail

4 jsp 30 fail

5 servlet 80 pass

 

 

 

select *,IF(score<60,"fail","pass") as mark from course;
 

 

6.表a:

year month amount

1991 1 1.1

1991 2 1.2

1991 3 1.3

1991 4 1.4

1992 1 2.1

1992 2 2.2

1992 3 2.3

1992 4 2.4

用sql语句,查询成下面结果:

year m1 m2 m3 m4

1991 1.1 1.2 1.3 1.4

1992 2.1 2.2 2.3 2.4

 

select
year,
(select amount from a a1 where a1.year=a.year and month=1 ) as m1,
(select amount from a a1 where a1.year=a.year and month=2) as m2,
(select amount from a a1 where a1.year=a.year and month=3) as m3,
(select amount from a a1 where a1.year=a.year and month=4) as m4
from a group by year

 

 

7.有两张表A和B,均有key和value两个字段,如果B的key在A中也有,那么把B的value换为A中对应的value。

 

#oracle
update B set B.value=(
	select A.value from A where B.mykey=A.mykey
) where B.mykey in (
	select B.mykey from B,A where B.mykey=A.mykey
);
 

 

 

#mysql
update B set value=(
	select A.value from A where A.mykey = B.mykey
)
where mykey in (
	select temp.mykey from (select B.* from B,A where B.mykey=A.mykey) as temp
);
 

 

 

 

 

分享到:
评论
1 楼 yupengcc 2014-06-18  
有用,学习了

相关推荐

    数据库面试题数据库面试题.

    数据库面试题涵盖了数据库基础知识、数据结构、算法、面向对象编程、软件工程以及特定数据库系统(如Visual FoxPro和SQL)的使用等多个方面。以下是这些题目所涉及的关键知识点的详细解释: 1. **算法的执行效率与...

    数据库面试题(汇总所有的数据库面试题).zip

    这份"数据库面试题(汇总所有的数据库面试题).zip"压缩包显然包含了一系列与数据库相关的面试问题,旨在帮助求职者准备应对各种数据库面试挑战。以下是根据标题、描述以及可能的文件内容总结出的一些关键知识点: ...

    db2数据库面试问题

    ### DB2数据库面试问题概览 #### 1. E-R图中的关系类型及其特点 E-R图(实体-关系图)是数据库设计中的一个重要工具,用于表示实体及其之间的关系。文中提到的关系类型主要包括冗余(redundancy)、不一致性...

    SQLSERVER数据库面试题及答案

    SQLSERVER 数据库面试题及答案 面对数据库面试时,候选人需要具备扎实的理论基础和实践经验,以下我们将为您提供一些常见的数据库面试题和答案,帮助您更好地准备面试。 1. 使用标准 SQL 嵌套语句查询选修课程名称...

    数据库面试题集

    数据库是信息技术领域中的核心部分,尤其在Java编程中,数据库的使用无处不在。这份"数据库面试题集"涵盖了数据库理论、SQL语言、数据库设计、性能优化和事务...这份"数据库面试题集"是一个宝贵的资源,值得深入研究。

    Java数据库面试题

    "Java数据库面试题" Java数据库面试题中涵盖了许多重要的知识点,从数据库设计到性能优化,从基本概念到高级主题。本文将对这些知识点进行详细的解释和总结。 一、数据库设计 在设计数据库时,需要注意三大范式的...

    数据库 面试 题目 免费

    ### 数据库面试题目概览 在IT行业中,数据库作为数据管理的核心技术之一,在软件开发、数据分析等领域具有不可替代的地位。因此,掌握一定的数据库知识是求职者必备的能力之一。下面将详细介绍在数据库面试中常见的...

    数据库面试题经典精华

    经典精华数据库面试题,内容丰富,经典面试,数据库精华

    数据库面试知识点汇总

    "数据库面试知识点汇总" 数据库面试知识点汇总是对数据库方方面面的总结,涵盖了数据库设计、数据库范式、索引、数据库性能优化等方面的知识点。下面是对这些知识点的详细解释: 一、数据库设计 数据库设计是指对...

    数据库面试经典试题!!

    本资料集合了互联网上被广泛讨论的数据库面试经典试题,旨在帮助求职者更好地准备数据库相关的面试。 1. 数据库基本概念 - 数据库(Database):存储和管理数据的系统,提供数据的组织、存储、检索、更新和删除等...

    数据库面试题及答案

    数据库面试题及答案

    数据库面试题集.docx

    本文档是一份数据库面试题集,包含20道选择题和答案,涵盖了数据库设计、数据结构、算法、软件开发、数据库管理系统等多方面的知识点。 第1题考查了算法的执行效率与数据的存储结构之间的关系,正确答案是C、算法的...

    大公司数据库面试资料

    这份“大公司数据库面试资料”集合了丰富的知识点,旨在帮助求职者和学习者提升数据库相关技能,顺利通过面试。以下是对这份资料中可能包含的重点内容的详细说明: 1. **SQL基础**:SQL(Structured Query Language...

    华为数据库面试题(面试必看)

    在华为的数据库面试中,这类问题旨在考察应聘者对SQL查询语言的理解以及处理复杂数据关系的能力。本题涉及的关键知识点包括: 1. **联接查询(JOIN)**:题目要求查询A表的所有数据,但不直接显示id,而是用B表中...

    JAVA,数据库面试题集锦

    通过阅读"数据库笔试题汇总.doc"和"Java面试题大全.pdf",你将有机会接触到这些主题的实际问题和解答,从而深化理解和应用能力。准备充分的面试者不仅能够解答问题,更能展示出对JAVA和数据库领域的深度理解和实践...

    数据库面试题数据库面试题.doc

    数据库面试题数据库面试题

    oracle数据库面试题目集锦

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它拥有丰富的功能和强大的性能。在面试中,Oracle相关的知识通常涉及数据库管理、SQL语法、数据类型、函数、触发器、事务处理等方面。下面将对这些知识...

    数据库面试总结.doc

    在数据库面试中,常常会涉及到一系列核心概念和技术,这些知识点对于在大厂面试中脱颖而出至关重要。以下是一些关键点的详细解释: 1. **主键、外键、超键、候选键** - **主键** 是表中用于唯一标识每一行的字段,...

    数据库面试常用问题整理(八股)

    "数据库面试常用问题整理(八股)" 数据库面试常用问题整理(八股)是计算机考研复试面试常问问题数据库章节导读的重要组成部分。本文将对数据库面试常用问题进行整理和总结,涵盖事务、并发一致性问题、封锁、关系...

    数据库面试相关

    本资源是一个关于数据库面试题型的整理,通过Xmind格式进行展示,旨在帮助大家更好地准备数据库相关的面试。 首先,我们需要理解数据库的基本概念。数据库(Database)是存储和管理数据的系统,它提供了数据的组织...

Global site tag (gtag.js) - Google Analytics