四、数据库及SQL部分:(共4题:基础3道,中等难度1道)
106、有3个表(15分钟):【基础】
Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:
1)写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名(3分钟)
2)写一个SQL语句,查询’周星驰’同学选修了的课程名字(3分钟)
3)写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)
答:1)SQL语句如下:
select stu.sno, stu.sname from Student stu
where (select
count(*) from sc where sno=stu.sno and cno =
(select cno from Course where cname='计算机原理')) != 0;
2)SQL语句如下:
select cname
from Course
where cno in (
select cno from sc where sno =
(select sno from Student where sname='周星驰'));
3)SQL语句如下:
select
stu.sno, stu.sname from student stu
where (select
count(*) from sc where sno=stu.sno) = 5;
107、有三张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联。【基础】
1)写出建表语句;
2)写出SQL语句,查询选修了所有选修课程的学生;
3)写出SQL语句,查询选修了至少5门以上的课程的学生。
答:1)建表语句如下(mysql数据库):
create table s(id integer primary key, name
varchar(20));
create table
c(id integer primary key, name varchar(20));
create table
sc(
sid integer references s(id),
cid integer references c(id),
primary key(sid,cid)
);
2)SQL语句如下:
select stu.id,
stu.name from s stu
where
(select count(*) from sc where sid=stu.id)
=
(select count(*) from c);
3)SQL语句如下:
select stu.id,
stu.name from s stu
where
(select count(*) from sc where sid=stu.id)>=5;
108、数据库表(Test)结构如下:【基础】
ID NAME AGE MANAGER(所属主管人ID)
106 A 30 104
109 B 19 104
104 C 20 111
107 D 35 109
112 E 25 120
119 F 45 NULL
要求:列出所有年龄比所属主管年龄大的人的ID和名字?
答:SQL语句如下:
select employee.name from test employee
where
employee.age > (select manager.age from test manager
where manager.id=employee.manager);
109、有如下两张表:【中等难度】
表city: 表state:
CityNo
|
CityName
|
StateNo
|
BJ
|
北京
|
(Null)
|
SH
|
上海
|
(Null)
|
GZ
|
广州
|
GD
|
DL
|
大连
|
LN
|
State
No
|
State Name
|
GD
|
广东
|
LN
|
辽宁
|
SD
|
山东
|
NMG
|
内蒙古
|
欲得到如下结果:
City No City
Name State No State Name
BJ 北京 (Null)
(Null)
DL 大连
LN 辽宁
GZ 广州
GD 广东
SH 上海
(Null) (Null)
写相应的SQL语句。
答:SQL语句为:
SELECT C.CITYNO, C.CITYNAME, C.STATENO,
S.STATENAME
FROM CITY C,
STATE S
WHERE
C.STATENO=S.STATENO(+)
ORDER
BY(C.CITYNO);
分享到:
相关推荐
【MySQL面试题】在面试MySQL相关的职位时,面试官可能会问到一系列关于数据库基础、SQL语法、事务处理、索引优化以及性能调优的问题。以下是一些可能的面试重点: 1. **数据库基本概念**: - 数据库是用于存储和...
SQLSERVER 数据库面试题及答案 面对数据库面试时,候选人需要具备扎实的理论基础和实践经验,以下我们将为您提供一些常见的数据库面试题和答案,帮助您更好地准备面试。 1. 使用标准 SQL 嵌套语句查询选修课程名称...
SQL Server高频面试题及答案 数据库基础知识篇 1. 主键、外键、超键、候选键 超键是关系模式中能唯一标识元组的属性集。候选键是最小超键,即没有冗余元素的超键。主键是数据库表中对储存数据对象予以唯一和完整...
【MySQL数据库高级工程师面试知识点详解】 在MySQL数据库高级工程师的面试中,面试官通常会针对以下几个核心领域进行深度考察: 1. **SQL语言基础**:包括但不限于DML(数据操作语言)如INSERT、UPDATE、DELETE,...
mysql, 面试题, 数据库, 数据管理, 数据库管理, 数据库设计, sql, 数据查询, 数据库优化, 数据库安全, 数据库备份, 数据库恢复, 数据库性能, 数据库索引, 数据库事务, 数据库存储引擎, 数据库连接池, 数据库分库分表...
"SQL数据库基础面试题复习题考试题-全" SQL Server 是一种关系型数据库管理系统,由 Microsoft 开发,广泛应用于各种 Industries。下面是 SQL Server 数据库基础知识点的总结: 数据库基础概念 1. 数据库...
"移动公司的数据库面试题--有答案" 本资源摘要信息涵盖了移动公司的数据库面试题,涵盖了数据库的基本概念、数据库设计、数据库管理系统、数据库性能分析等多个方面的知识点。 数据库基本概念 1. 目前比较流行的...
针对“ms-sqlserver面试题”这个主题,我们可以深入探讨SQL Server的相关知识点,帮助求职者或在职人员提升技能。 1. SQL Server基础知识: - 数据库引擎:负责存储、处理和保护数据。 - Transact-SQL(T-SQL):...
本篇文章将深入探讨数据库面试中常见的知识点,包括数据重复处理、表设计的范式理论、SQL存储过程的创建与应用,以及数据库备份与恢复策略。 1. **查找和删除数据库中的重复数据**: 在Oracle数据库中,处理重复...
这是理念的SQL数据库面试题。希望他们对你有用。
本篇主要涉及SQL Server 2005的基础面试题,涵盖了数据库的基础概念、系统数据库、数据库管理以及数据库的发展历程。 1. SQL Server数据库的主数据文件扩展名为.mdf。这意味着当你创建一个新的数据库时,主数据文件...
### SQL和Oracle数据库面试题知识点解析 #### 1. 数据库操作基础 - **DDL (Data Definition Language)**:用于定义数据库结构的语言。包括 `CREATE TABLE`、`ALTER TABLE` 和 `DROP TABLE` 命令,以及索引的创建和...
这份"数据库面试题集"涵盖了数据库理论、SQL语言、数据库设计、性能优化和事务管理等多个方面,对于准备数据库相关的面试或者提升自己的数据库技能都有极大帮助。 1. **数据库基础** - 数据库的类型:关系型数据库...
在SQL Server数据库领域,面试通常会涵盖多个方面,包括但不限于数据查询、表的创建与管理、索引、存储过程、触发器、事务处理、备份与恢复、性能优化以及安全性等。以下是一些基于这些主题的可能面试问题及其答案:...
本文将围绕“数据库面试题--值得一看”这一主题,深入探讨数据库面试中可能出现的知识点,帮助求职者更好地准备和理解数据库相关的考试类型及题目。 1. **SQL基础** - SQL语言的基本概念:包括SELECT、INSERT、...
MySQL数据库面试题-重点是 MySQL 数据库的面试题,涵盖了 MySQL 数据库的基础知识、索引、存储引擎、事务、锁、视图、存储过程、触发器、SQL语句、优化等方面的知识点。 一、数据库基础知识 数据库基础知识是指...
以下是一些常见的Java SQL数据库面试题及其详细解答,旨在帮助你准备面试: 1. **Java与数据库连接** - JDBC(Java Database Connectivity)是什么?它是如何工作的? - 描述一下JDBC驱动的四个主要类型。 - ...
本文将深入探讨“数据库SQL面试题大全”所涵盖的关键知识点,帮助求职者准备面试,确保在面对数据库相关问题时能够胸有成竹。 首先,SQL是用于管理关系型数据库的标准语言,它包括数据查询、数据更新、数据插入和...