educoder 数据库

2023-11-08

--查询CS系学生选择的课程,列出学号,课程号,成绩
select sno,cno,grade from Sc where Sno in(select Sno from Student where Sdept ='CS');

-- 查询没有选C06(课程号)课程的同学的学号,姓名,性别
select sno,sname,ssex from Student where Sno not in(select Sno from Sc where Cno='C06')

--查询成绩最高的选课信息,列出学号,课程号和成绩
select sno,cno,grade from SC where grade in( select max(Grade) from SC)

-- 查询CS系没有选择'DB'课程学生的姓名,列出学生姓名
select sname from Student 
where sdept='CS' and Sno not in(select Sno from Sc 
                where Cno in(select Cno from Course 
                                where Cname='DB'))
								
--查询'DB'课程考最高分的选课信息。列出学号,课程号,成绩
select sno,cno,grade 
from SC 
where grade in (select max(grade) from SC
                 where cno in(select cno from Course where Cname='DB'))and 
                 cno in (select cno from Course where Cname='DB')

select sno,SC.cno,grade from SC,Course
where SC.cno = Course.cno
and cname = 'DB'
and grade >= all(select grade from SC 
    where grade in(select grade from SC,Course
                where SC.cno = Course.cno
                and cname = 'DB') )

--选修了先行课为'DB'的课程的学生,列出学生学号,姓名,性别,所在系
select sno,sname,ssex,sdept
from Student,Course
where cpno in (select cno from Course where cname = 'DB')

--将'DB'课程不及格的成绩加5分
update SC set grade=grade+5 
where cno in (select cno from Course where cname='DB')
and grade<60

--删除'English'(课程名)课程CS系学生的选课记录
delete from SC 
where cno in (select cno from Course where cname='English')
and sno in (select sno from Student where sdept='CS')

--为CS系添加必修课,课程号为C02
insert into SC(sno,cno,grade)
select sno,'c02',null from student where sdept='CS' and
sno not in(select sno from sc where cno='c02')

--查询‘001’号的学生不及格的课程数,列出不及格课程数(列名为:scnt)
select count(Sno) as scnt from sc
where Sno='001' and Grade<60
group by Sno; 

--查询每个学生不及格的课程数,列出学号和不及格课程数(列名为:scnt)
select sno,Count(Sno) as scnt from sc
where grade<60
group by Sno;

--每个系女同学的平均年龄,列出所在系和平均年龄(列名为:sageavg)
select sdept,avg(sage) as sageavg from Student
where ssex='f'
group by sdept;

--查询Niki(姓名)同学的平均分,列出平均分(列名为:savg)
select avg(grade) savg from Sc
where Sno in (select sno from Student where Sname='Niki');

--查询CS系每个同学的平均分,列出学号和平均分(列名为:savg)
select sno,avg(grade) savg from Sc
where Sno in (select Sno from Student where Sdept='CS')
group by Sno;

--学分为2的每门课程的选课人数,列出课程号和选课人数(列名为:scnt)
select cno,count(sno) scnt
from SC
where cno in (select cno from Course where ccredit = 2)
group by cno

--平均分最高的学生的姓名
select sname from Student
where sno in 
	(select sno from SC
	group by sno
	having avg(grade) >= all (select avg(grade) from SC group by sno))
	
--不及格人数大于等于2人的课程,列出课程号,课程名,不及格人数(列名为scnt)
select Course.cno,cname,Count(sno) as scnt from Sc,Course
where Course.Cno=Sc.Cno and Grade<60
group by Course.cno,Cname
having Count(sno)>=2

--E系平均成绩最高的同学的姓名,列出姓名
select sname from Student,SC
where sdept = 'E' and Student.sno = SC.sno
group by sname
having avg(grade) >= all (select avg(grade) from SC  where sno in (select sno from Student where sdept = 'E') group by sno)

--为Student表的Sage列添加约束,使其取值小于30岁(约束名:stu_chk_sage)
alter table student
add constraint stu_chk_sage check(sage < 30)

--student表的Ssex列添加约束,使其只能取值‘m’或‘f’(约束名:stu_chk_ssex)
alter table student
add constraint stu_chk_ssex check(ssex = 'f' or ssex = 'm')

--为Student表的ssex列添加缺省约束,缺省值为‘m’(约束名:stu_def_ssex)
alter table student
add constraint stu_def_ssex default('m') for ssex

--为SC表的sno列添加外码(约束名:stu_ref_sno)
alter table sc
add constraint stu_ref_sno foreign key (sno) references student(sno)

--为SC表的cno列添加外码(约束名:stu_ref_cno)
alter table sc
add constraint stu_ref_cno foreign key (cno) references course(cno)

--为SC表的grade列添加检查约束(1到100分)(约束名:stu_chk_grade)
alter table sc
add constraint stu_chk_grade check(grade >= 1 and grade <= 100)

--为Course表的cname列添加唯一约束(约束名:Course_un_cname)
alter table course
add constraint Course_un_cname unique (cname)

--为Course表的ccredit列添加检查约束,使其值为(1到10之间)(约束名:Course_chk_ccredit)
alter table course
add constraint Course_chk_ccredit check (ccredit between 1 and 10)

--为Course表的cpno列添加外码约束(约束名:Course_ref_cpno)
create unique index idx_cpno on Course(cpno)
alter table course
add constraint Course_ref_cpno foreign key (cpno) references course(cpno)

--为Student表的sname列创建唯一索引(索引名:idx_student_sname)
create unique index idx_student_sname on Student (sname)

--为sc表的grade列创建降序索引(索引名:idx_sc_grade)
create index idx_sc_grade
on sc(grade DESC)

--为course表的ccredit列创建升序索引(索引名:idx_course_cname)
create index idx_course_cname
on Course (ccredit)

--创建视图vcg,查询课程名为'Math'的课程中,成绩不及格的学生,列出学号,课程号,成绩
create view vcg as
select sno,cno,grade
from SC
where cno in (select cno from Course where cname = 'MAth' and grade < 60) 

--修改视图vcg中的数据,将成绩加5分
update vcg set grade = grade  + 5

--删除视图vcg中的数据,将成绩小于40分的选课信息删除
delete from vcg where grade < 40

--创建vsumc视图,使其包含每个学生的获得的学分(成绩及格才能得学分)。列出学号和总学分(列名:ssumc)
create view vsumc as
select sno,sum(ccredit) as ssumc
from SC,Course
where SC.cno = Course.cno and grade >= 60
group by sno

--使用vsumc视图,查询男同学总学分高于12分的学生的学号,姓名,性别
select vsumc.sno,sname,ssex
from vsumc,Student
where ssumc > 12 and vsumc.sno = Student.sno and ssex ='m'

--使用vsumc视图,查询总学分最高的学生,列出学号,姓名,性别,年龄,所在系
select vsumc.sno,sname,ssex,sage,sdept
from vsumc,Student
where  ssumc >= all(select ssumc from vsumc) and Student.sno = vsumc.sno

--使用vsumc视图,查询平均分大于等于65分的学生的学号,平均分(列名:savg),总学分(列名:ssumc)
select SC.sno, avg(grade) savg,ssumc from vsumc,SC 
where SC.sno=vsumc.sno 
group by SC.sno,ssumc
having avg(grade)>=65

--为utest用户赋予student表的查询权限
grant select on student to utest;

--为utest用户赋予SC表的查询权限和修改权限
grant select,update on sc to utest;

--为utest用户赋予Course表的插入权限和删除权限
grant insert,delete on Course to utest;

--收回utest对student表的修改权限
revoke update on student from utest

--收回utest对SC表的插入权限和修改权限
revoke insert,update on sc from utest

--收回utest对Course表的查询权限和删除权限
revoke select,delete on Course from utest
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

educoder 数据库 的相关文章

  • 【C++】流操作的基础

    include stdafx h include
  • Vue3 isRef

    isRef 检查一个对象是否为 ref 包装过的对象 实例
  • Mysql之查看数据库表锁、行锁信息

    测试环境数据库突然连接不上 经过排查因为磁盘空间不足导致Mysql服务无法使用 排查过程中没有直接定位到磁盘空间不足问题 查看了当前数据库连接情况 表锁 行锁等 查看当前线程处理情况 如果不使用full关键字 信息字段中只会显示每个语句的前
  • 微信小程序分享图片给微信好友(如二维码)

    目录 前言 一 使用哪种api 二 对图片的处理需要转化为临时路径 三 Windows端兼容性问题 前言 最近在公司开发一个微信小程序项目 用到的uniapp技术 在分享图片时 查看了uniapp的技术文档 写的还是很粗糙的 说得不太清楚
  • c++ 父类子类继承关于是复制还是共用解析

    假如 父类里面private 有一个int num 子类去继承父类以后 想要访问继承的这个num的话 不能直接访问 因为继承的时候 从逻辑上来说 是复制关系 从内存上讲 其实是共用关系 网上一个人的回答 我感觉继承从逻辑上看是复制 你比如子
  • 前端三剑客 - - HTML、CSS、JavaScript

    我是目录 1 HTML 2 CSS 3 JavaScript 1 HTML 1 简介 html 属于 xml 的一种 遵循 xml 格式 html是网页文件 可以通过html提供页面元素 dom元素 html整体结构是一个树形结构 也叫do

随机推荐

  • 【已解决】Keil5点击Debug Setting软件崩溃解决方法

    MDK5 38中 点击Debug Setting软件退解决方法 Nucleo板自带的ST Link 在MDK中点击Debug Setting 软件崩溃 采用删除与工程文件同名的 UVOPTX 问题依旧 应该是买到盗版的硬件了 采用旧版ST
  • Java 面试之前端相关

    前言 这篇文章包括一些前端题目 包括js jquery vue等等 正文 1 javascript与Java的不同 Java代码必须编译才能执行 而JavaScript不需编译 只需由浏览器解释执行 Java多运行于服务器 而JavaScr
  • 尊重原创,我保证这篇文章为原创作品!

    最近确实太忙 目前在研发一款新产品 博客更新有些慢 不过自己还是会坚持来这里写笔记 对自己的要求 每月至少5篇
  • CCF-CSP 202206-3 角色授权 C++满分题解

    题目链接 计算机软件能力认证考试系统 思路见注释 include
  • Mycat+分库分表

    目录 分库分表 垂直分表 垂直分库 水平分库 水平分表 mycat实操场景 mycat配置 mysql读写分离配置 38条消息 mycat 安装与配置 羽之大公公的博客 CSDN博客 mycat 分库分表 众所周知 单表1000w 库500
  • void*(指针)的类型转换-专讲

    指针是一个特殊的变量 它里面存储的数值被解释成为内存里的一个地址 所以不管你存储的是int指针 float指针 long指针 对于存储指针的内存来说都是分配同样大小的内存的 这也为使用void指针可以存储任意类型的指针打下了基础 但是注意在
  • vivado之初步学习同步FIFO-first word fall through类型Common Clock RAM(1)

    一 设置页面 二 查看波形图 上测试代码 timescale 1ns 1ps module fifo study simulation input sysclk reg 7 0 din 0 reg wr en 0 wire almost f
  • C语言打印各种图案合集

    1 C语言打印菱形图案 题目描述 输入一个正整数 n 并输出一个菱形 这个菱形有 2n 1 行 第一行有 2 个字母 A 之后的 n 1 行每行字母 A 的数量会递增 2 个 后面的 n 1 行至 2n 1 行 每行字母 A 的数量会递减
  • 看点:response对象,setContentType(String type)方法的使用示例。

    说明 setContentType String type 方法 指的是响应设置内容类型头 参数type可取text html text plain application x msexcel application msword等值 示例
  • 使用Python,OpenCV,本地二进制模式(LBP)进行人脸识别

    使用Python OpenCV与本地二进制模式 LBP 进行人脸识别 1 效果图 2 原理及步骤 2 1 原理 2 2 步骤 3 源码 参考 在深度学习和暹罗网络之前 面部识别算法依赖于特征提取和机器学习 这篇博客将介绍如何使用本地二进制模
  • 【blender基础】常用基础功能记录

    blender常用基础功能记录 1 游标与选中项的吸附功能 1 1 选中项 gt 游标 1 2 选中项 gt 游标 保持偏移 1 3 选中项 gt 活动项 1 4 选中项 gt 栅格点 1 5 游标 gt 栅格点 1 6 游标 gt 世界原
  • linux-Team-网卡绑定

    简介 在 linux 中 Rhel7 之前都是使用 bond 机制来实现多网卡绑定同一个 IP地址 来对网络提供访问 并按不同的模式来负载均衡或者轮回接替管理处理数据 而到Rhel7 之后 提供了一种强大的工具 nmcli工具命令 使用此工
  • 如何导出无水印_短视频如何去水印,短视频去水印原理解析

    大家平时在收集视频素材时候 可能会看见某某短视频平台一个非常中意的作品 但是保存到本地之后 切有LOGO水印感觉非常失望 因为有了水印 可能对我们2次编辑和调用会带来比较多的麻烦 如果直接用视频编辑软件进行马赛克模糊处理 又会对视频本身质量
  • JS正则表达式验证是否为11位有效手机号码

    最近在做注册登陆页面 都要涉及到验证11位有效手机号码 这里贴出代码 希望能帮到有这个开发需求的朋友 function isPoneAvailable poneInput var myreg 1 3 4 5 7 8 0 9 9 if myr
  • 一个vue项目同时兼容pc和移动端

    介绍 公司要求vue开发的项目 既有移动端又有pc端 但是移动端和pc端展示的内容不一样 同一个组件样式也不一样 移动端展示内容比pc端少 那这个时候在一个项目种怎么做的 解决方式 路由写两份 一份移动端的 一份pc端的 这两份路由地址相同
  • 使用vscode找不到Python常见包的问题

    首先明白一个概念 Python会在以下路径中搜索它想要寻找的模块 1 程序所在的文件夹 2 标准库的安装路径 3 操作系统环境变量PYTHONPATH所包含的路径 将自定义库的路径添加到Python的库路径中去 有如下两种方法 1 动态的添
  • spring 控制反转和依赖注入的简单理解

    最近在学习springboot的时候发现我对spring不能抽象说出意思 证明当时并没理解spring只是限于使用 对于刚踏入这行的毕业生这是不行的 为了养成良好的习惯 坚持将工作中的问题总结发成博客供自己观看哈哈 现在来看一个例子 创建了
  • 用Electron将web网页程序包装成桌面应用

    用Electron将web网页程序包装成桌面应用 前提 web 端页面 真的太容易一不小心关掉了 或者 标签页比较多的时候不太容易找到 所以决定快速包装一个 认识electron electron快速入门 搭建electron项目 第一步
  • MySQL数据库:SQL语句

    MySql数据库系列阅读 MySQL数据库 MySQL数据库 SQL语句 MySQL数据库 完整性约束 MySQL数据库备份与还原 MySQL数据库 编码 1 SQL概述 1 1 什么是SQL SQL Structured Query La
  • educoder 数据库

    查询CS系学生选择的课程 列出学号 课程号 成绩 select sno cno grade from Sc where Sno in select Sno from Student where Sdept CS 查询没有选C06 课程号 课