专栏首页cwl_Java经典笔试题-数据库及SQL篇

经典笔试题-数据库及SQL篇

四、数据库及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;
  1. SQL 语句如下:
select cname from Course
where cno in ( select cno from sc where sno =
(select sno from Student where sname='周星驰'));
  1. 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 欲得 到如下结果: 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);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP-数组翻转

    cwl_java
  • 性能优化-慢查询的优化案例

    可以看到显示的执行计划,并不是很高效,可以拖慢服务器的效率,如何优化了? 创建索引

    cwl_java
  • 快速学习Oracle-Rownum与分页查询

    但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想 实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法。

    cwl_java
  • Oracle 硬解析与软解析

    Oracle 硬解析与软解析是我们经常遇到的问题,什么情况会产生硬解析,什么情况产生软解析,又当如何避免硬解析?下面的描述将给出

    Leshami
  • Mybatis问题:There is no getter for property named ‘stype’ in ‘class java.lang.Integer’

    在做一个查询时,传的参数是个Integer类型的变量,而不是键值对式的,同时在xml中对其进行了判断。代码如下:

    汐楓
  • MGR环境构建中需要考虑的细节(一)

    MGR这个方案之前写了一些文章来讨论,其实要在你的业务中落地,需要考虑的细节就很多了。

    jeanron100
  • 初接触 Sass 与Compass 遇到的几个坑

    最近开始接触传说中高大上的CSS 预处理器之一Sass 以及Compass ,本文不会对Sass 与Compass 技术层面做过多介绍,只是记录自己折腾过程中遇...

    Jeff
  • 算法:编辑距离(Levenshtein Distance)

    “编辑距离”又称 Leveinshtein 距离,是由俄罗斯科学家 Vladimir Levenshtein 在 1965 年提出。

    WEBJ2EE
  • JavaScript 易错知识点整理

    本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由...

    哲洛不闹
  • 这个任务派谁负责?

    用户5521279

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动