Orcle数据库复习:二

一、题目

1.找出所有成绩均低于80的学生姓名

select sname from student where sid in(
select sid from mark  group by sid having max(cmark)<80)

select sname from student where sid in(
select sid from mark where sid not in(
select sid from mark where cmark>=80))

2.找出和张三同学所选课程完全相同的学生姓名

Step1:select sid from student where sname=‘张三‘
step2:select cid from mark where sid=(step1)
step3:select sid from mark where cid not in (step2)
step4:select sid from mark where sid not in(step3)group by sid having count(*)=(select count(*)from mark where sid=(step1))

3.显示张三同学的数学和英语成绩,要求显示姓名、数学成绩、英语成绩

select sname ,(
select cmark from mark where sid=(select sid from student where sname=‘张三‘)
and
 cid=(select cid from course where cname=‘数学‘)
) 数学成绩,
(
select cmark from mark where sid=(select sid from student where sname=‘张三‘)
and
 cid=(select cid from course where cname=‘英语‘)
) 英语成绩 from studen
至少选修了学生10002选修的全部课程的学生学号
m studenm nt s leftjoin mark m on s.sid=m.sid where cmark<60

5.查询出所有存在不及格课程的学生的姓名

select sname from studenm nt s left join mark m on s.sid=m.sid where cmark<60

6.至少选修了学生10002选修的全部课程的学生学号

select sid from mark sc1 where not exists(
select * from mark sc2 where sid=10002 and not exists
(select *from mark where sid=sc1.sid and cid=sc2.cid
)
) and sid !=10002 group by sid

7.至少选修了学生张三选修的全部课程的学生姓名

select sid from mark sc1 where not exists(
select * from mark sc2 where sid=(select sid from student where sname=‘张三‘) and not exists
(select *from mark where sid=sc1.sid and cid=sc2.cid
)
) and sid !=10002 group by sid
时间: 2024-08-30 04:21:32

Orcle数据库复习:二的相关文章

数据库复习笔记(二)

update语句 备份的两种方法 1.把数据库脱机分离,然后拷贝出来 2 备份完之后需要还原才可以用备份的数据库 具体要做的时候再参考视频资料. 替换语句 即使表中的内容全部删掉,插入的时候还是继续编号 数据库复习笔记(二)

Hibernate复习(二)主要对象

1.SessionFactory 一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例. SessionFactory有以下特点: –它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享. –它是重量级的,这意味着不能随意创建或销毁它的实例.如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实 例.如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFac

探索Oracle之数据库升级二 11.2.0.3升级到11.2.0.4完整步骤

探索Oracle之数据库升级二  11.2.0.3升级到11.2.0.4完整步骤 说明:         这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同.但是他们每个版本之间升级步骤都是差不多的,先升级Database Software,再升级Oracle Instance. Oracle 11.2.0.4的Patchset No:19852360下载需要有Oracle Support才可以.  Patchset包含有7个

数据库复习7——恢复

数据库复习 CH14 恢复 13.1 恢复的概念 数据库系统中恢复是指让数据库从发生某些"失败"后的不一致的状态恢复到正常的一致状态的行为,恢复的基础是冗余(物理上冗余,非逻辑上) 这些失败包括了: 事务失败:包括逻辑错误(事务不满足某些条件不能执行)和系统错误(DBMS强制终止事务,如事务发生死锁) 系统崩溃:断电.物理硬件损坏.软件系统(如OS)崩溃,本章假设系统崩溃不会改变非易失存储器 磁盘失败:磁盘存储发生错误,本章假设可利用检查和监测磁盘失败 大体上,恢复策略分成两个步骤:

数据库复习5——安全性

数据库复习 CH7 安全性 7.1 数据库安全性介绍 如果说完整性是针对授权用户的数据库保护措施,那么安全性就是针对非授权用户的数据库保护措施 安全性问题涉及的层面很多,非法用户可以从以下各层面对数据库的窃取或篡改: 层面 窃取或篡改行为 应对措施 数据库系统 获取高级用户数据库权限 身份验证,权限和可获取数据对等 操作系统 获取操作系统root权限想干啥就能干啥,不仅仅限于对数据库的操作了 提升操作系统安全级别 网络 通过网络窃听和身份伪装也能窃取线上机密数据 身份验证和加密传输 物理 物理上

学习oracle数据库引航二——后台进程

from 谭怀远--数据库领航 后台进程 一.system monitor(SMON) (非正常关闭后的)实例恢复 二.process monitor(PMON) 回滚事务 释放锁及其它资源 重启死掉的调度器.(在共享服务器中用).分配用户连到哪个服务器上. 在监听器中注册服务信息 三.DBWn和LGWR DBWRn下写入磁盘文件 四.check point(CKPT) 喊DBWn写脏数据 完后会更新DATAFILE的HEADER和控制文件的HEADER.而HEADER中有同步所需要的信息,即C

Android中使用Sqlite数据库 (二) 增删改查

定义接口 package com.example.android_db.service; import java.util.List; import java.util.Map; public interface PersonService { public boolean addPerson(Object[] params); public boolean deletePerson(Object[] params); public boolean updatePerson(Object[] p

mysql数据库 (二) mysql数据库的基本操作

上一次安装好mysql数据库以后并没有登录操作,这次来简单介绍下mysql的基本操作 一.访问mysql数据库(经过安装后的初始化过程,mysql数据库的默认管理员用户名为:"root",密码为空:注意此root并非是linux系统管理员的root账号) 1.登录mysql 未设置密码时,mysql后加"-u"指定用户就可以了 如果root设置了密码,还需要在用户名后面加"-p"选项指定密码 2.执行mysql操作语句 注意:每一条mysql语句

浅尝key-value数据库(二)——MongoDB的优与劣

浅尝key-value数据库(二)——MongoDB的优与劣 MongoDB的名字取自英文单词"humongous"的中间五个字母,是一个C++开发的基于分布式文件存储的数据库开源项目.他的文件存储格式是BSON(Binary JSON),因此可以高效存储二进制数据,例如图像.视频等大对象. 由于我是CentOS x86_64的系统,于是安装MongoDB非常简单: vi /etc/yum.repos.d/mongo.repo [10gen] name=10gen Repository