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
);
分享到:
相关推荐
数据库面试题涵盖了数据库基础知识、数据结构、算法、面向对象编程、软件工程以及特定数据库系统(如Visual FoxPro和SQL)的使用等多个方面。以下是这些题目所涉及的关键知识点的详细解释: 1. **算法的执行效率与...
这份"数据库面试题(汇总所有的数据库面试题).zip"压缩包显然包含了一系列与数据库相关的面试问题,旨在帮助求职者准备应对各种数据库面试挑战。以下是根据标题、描述以及可能的文件内容总结出的一些关键知识点: ...
### DB2数据库面试问题概览 #### 1. E-R图中的关系类型及其特点 E-R图(实体-关系图)是数据库设计中的一个重要工具,用于表示实体及其之间的关系。文中提到的关系类型主要包括冗余(redundancy)、不一致性...
SQLSERVER 数据库面试题及答案 面对数据库面试时,候选人需要具备扎实的理论基础和实践经验,以下我们将为您提供一些常见的数据库面试题和答案,帮助您更好地准备面试。 1. 使用标准 SQL 嵌套语句查询选修课程名称...
数据库是信息技术领域中的核心部分,尤其在Java编程中,数据库的使用无处不在。这份"数据库面试题集"涵盖了数据库理论、SQL语言、数据库设计、性能优化和事务...这份"数据库面试题集"是一个宝贵的资源,值得深入研究。
"Java数据库面试题" Java数据库面试题中涵盖了许多重要的知识点,从数据库设计到性能优化,从基本概念到高级主题。本文将对这些知识点进行详细的解释和总结。 一、数据库设计 在设计数据库时,需要注意三大范式的...
### 数据库面试题目概览 在IT行业中,数据库作为数据管理的核心技术之一,在软件开发、数据分析等领域具有不可替代的地位。因此,掌握一定的数据库知识是求职者必备的能力之一。下面将详细介绍在数据库面试中常见的...
经典精华数据库面试题,内容丰富,经典面试,数据库精华
"数据库面试知识点汇总" 数据库面试知识点汇总是对数据库方方面面的总结,涵盖了数据库设计、数据库范式、索引、数据库性能优化等方面的知识点。下面是对这些知识点的详细解释: 一、数据库设计 数据库设计是指对...
本资料集合了互联网上被广泛讨论的数据库面试经典试题,旨在帮助求职者更好地准备数据库相关的面试。 1. 数据库基本概念 - 数据库(Database):存储和管理数据的系统,提供数据的组织、存储、检索、更新和删除等...
数据库面试题及答案
本文档是一份数据库面试题集,包含20道选择题和答案,涵盖了数据库设计、数据结构、算法、软件开发、数据库管理系统等多方面的知识点。 第1题考查了算法的执行效率与数据的存储结构之间的关系,正确答案是C、算法的...
这份“大公司数据库面试资料”集合了丰富的知识点,旨在帮助求职者和学习者提升数据库相关技能,顺利通过面试。以下是对这份资料中可能包含的重点内容的详细说明: 1. **SQL基础**:SQL(Structured Query Language...
在华为的数据库面试中,这类问题旨在考察应聘者对SQL查询语言的理解以及处理复杂数据关系的能力。本题涉及的关键知识点包括: 1. **联接查询(JOIN)**:题目要求查询A表的所有数据,但不直接显示id,而是用B表中...
通过阅读"数据库笔试题汇总.doc"和"Java面试题大全.pdf",你将有机会接触到这些主题的实际问题和解答,从而深化理解和应用能力。准备充分的面试者不仅能够解答问题,更能展示出对JAVA和数据库领域的深度理解和实践...
数据库面试题数据库面试题
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它拥有丰富的功能和强大的性能。在面试中,Oracle相关的知识通常涉及数据库管理、SQL语法、数据类型、函数、触发器、事务处理等方面。下面将对这些知识...
在数据库面试中,常常会涉及到一系列核心概念和技术,这些知识点对于在大厂面试中脱颖而出至关重要。以下是一些关键点的详细解释: 1. **主键、外键、超键、候选键** - **主键** 是表中用于唯一标识每一行的字段,...
"数据库面试常用问题整理(八股)" 数据库面试常用问题整理(八股)是计算机考研复试面试常问问题数据库章节导读的重要组成部分。本文将对数据库面试常用问题进行整理和总结,涵盖事务、并发一致性问题、封锁、关系...
本资源是一个关于数据库面试题型的整理,通过Xmind格式进行展示,旨在帮助大家更好地准备数据库相关的面试。 首先,我们需要理解数据库的基本概念。数据库(Database)是存储和管理数据的系统,它提供了数据的组织...