一道SQL面试题


Posted in 面试题 onDecember 31, 2012
有三张表,学生表S,课程表C,学生课程表SC,学生可以选修多门课程,一门课程可能被多个学生选修,通过SC表关联。
(1) 写出建表以及插入语句;
(2) 写出SQL语句,查询选修了所有选修课程的学生;
(3) 写出SQL语句,查询选修了至少2门以上的课程的学生。
ANSWER:
(1) 写出建表以及插入语句;
/

create table student (
id number(10) primary key,
name varchar2(20));

create table course (
id number(10) primary key,
name varchar2(20));

create table sc(
sid number(10) references student(id),
cid number(10) references course(id),
grade number(42));

INSERT VALUES:

2) 写出SQL语句,查询选修了所有选修课程的学生;

select s.id,s.name
from student s
where s.id in(
select sid
from sc
group by sid
having count(*)=
(select count(*)
from course)
);

(3) 写出SQL语句,查询选修了至少2门以上的课程的学生。

select sid,count(*) from sc group by sid having count(*)>=2;

SELECT S.ID,S.NAME
FROM STUDENT S
WHERE S.ID IN(
select sid
from sc
group by sid
having count(*)>=2
)

drop table student cascade constraints;
drop table course cascade constraints;
drop table sc;

commit;

create table student(
id number(10) primary key,
name varchar2(15)
);

create table course(
id number(10) primary key,
name varchar2(15)
);

create table sc(
sid number(10) references student(id),
cid number(10) references course(id)
);

commit;

insert into student values(1,’star’);
insert into student values(2,’moon’);
insert into student values(3,’oracle’);
insert into student values(4,’sun’);

insert into course values(1,’Java’);
insert into course values(2,’C++’);
insert into course values(3,’Chinese’);
insert into course values(4,’English’);

insert into sc values(1,1);
insert into sc values(1,2);
insert into sc values(1,3);
insert into sc values(1,4);
insert into sc values(2,1);
insert into sc values(2,2);
insert into sc values(2,3);
insert into sc values(3,1);
insert into sc values(3,2);
insert into sc values(4,3);
insert into sc values(4,4);
commit;
;

Tags in this post...

面试题 相关文章推荐
如何配置、使用和清除Smarty缓存
Dec 23 面试题
JPA面试常见问题
Nov 14 面试题
Java方面的关于数组和继承的笔面试题
Sep 18 面试题
一套Java笔试题
Aug 20 面试题
金讯Java笔试题目
Jun 18 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
Nov 26 面试题
简述索引存取方法的作用和建立索引的原则
Mar 26 面试题
北京某科技有限公司C# .net笔试题
Sep 27 面试题
Linux如何压缩可执行文件
Oct 21 面试题
介绍一下EJB的体系结构
Aug 01 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
Mar 16 面试题
金蝶的一道SQL笔试题
Dec 18 #面试题
查询优化的一般准则有哪些
Mar 08 #面试题
Sql面试题
Mar 20 #面试题
分布式数据库需要考虑哪些问题
Dec 08 #面试题
什么是事务?为什么需要事务?
Jan 09 #面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
You might like
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
新闻分类录入、显示系统
2006/10/09 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
python生成器generator用法实例分析
2015/06/04 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Python最小二乘法矩阵
2019/01/02 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
python开发入门——列表生成式
2020/09/03 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
数控技术与应用毕业生自荐信
2013/09/24 职场文书
政府门卫岗位职责
2014/04/29 职场文书
大学学风建设方案
2014/05/04 职场文书
公司运动会策划方案
2014/05/25 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
领导欢迎词范文
2015/01/26 职场文书
学术会议邀请函
2015/01/30 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技