【数据库】关系代数和SQL语句

news2025/1/18 11:01:27

对于教学数据库的三个基本表

学生S(S#,SNAME,AGE,SEX)

学习SC(S#,C#,GRADE)

课程(C#,CNAME,TEACHER)

(1)试用关系代数表达式和SQL语句表示:检索WANG同学不学的课程号

select C# from C
where C# not in
    (select C# from SC
        where S# in
            (select S# from S
                where SNAME='WANG'));

(2)试用SQL语句完成:在基本表S中检索每一门成绩都大于80分的学生学号、姓名和性别,并把检索到的值送往一个已存在的基本表STUDENT(S#,SNAME,SEX)

insert into STUDENT(S#,SNAME,SEX)
    select S#,SNAME,SEX from S
        where not exists
            (select * from SC where
                GRADE < 80 and S.S#=SC.S#);

(3)试用SQL语句完成:检索选修课程包含LIU老师所授课的学生学号

select distinct from sc
    where C# in
        (select C# from C
            where TEACHER = 'LIU');

(4)将关系代数表达式意思表达出来

检索全部学生都选修的课程的课程号与课程名

现有数据库关系如下:

学生(学号,姓名,性别,专业)

课程(课程号,课程名,学分)

学习(学号,课程号,分数)

分别用关系代数表达式和SQL语句实现下列1-5题

1.检索所有选修了课程号为“C112”的课程的学生的学号和分数

select 学号,分数 from 学习
    where 课程号 = 'C112';

2.检索“英语”专业学生所学课程的信息,包括学号、姓名、课程号和分数

多表查询

select 学生.学号,姓名,课程.课程名,分数
from 学习,学生,课程
where 学生.学号=学习.学号 and 学习.课程号=课程.课程号 and 专业='英语';

3.检索“数据库原理”课程高于90分的所有学生的学号、姓名、专业和分数

 

多表查询

select 学生.学号,姓名,专业,分数 from 学生,学习,学号
where 学生.学号=学习.学号 and 学习.课程号=课程.课程号 and 分数>90 and 课程名='数据库原理';

4.检索没学课程号为C135课程的学生信息,包括学号,姓名和专业

嵌套

select 学号,姓名,专业 from 学生
where 学号 not in
(select 学号 from 学习 where 课程号='C
135');

5.检索至少学过课程号为C135和C219的课程的学生的信息,包括学号、姓名和专业

别名

select 学号,姓名,专业 from 学生 where 学号 in
(select x1.学号 from 学习 x1,学习x2 
where x1.学号=x2.学号 and
x1.课程号='C135' and x2.课程号='C219'
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2256233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在做题中学习(79):最小K个数

解法&#xff1a;快速选择算法 说明&#xff1a;堆排序也是经典解决问题的算法&#xff0c;但时间复杂度为&#xff1a;O(NlogK)&#xff0c;K为k个元素 而将要介绍的快速选择算法的时间复杂度为: O(N) 先看我的前两篇文章&#xff0c;分别学习&#xff1a;数组分三块&#…

uniapp页面不跳转问题!(使用uni.$u.route或者原生uni.navigateTo)页面跳转ios无效果(既不报错也不跳转页面)

1.问题描述: 通常使用点击事件来触发页面跳转都没问题,但是现在业务需求,在一个方法中自动去携带参数跳转到另外一个页面,android真机无问题,就ios一直无法跳转过去! 2.解决方法: 2.1 必须使用setTimeout来延迟跳转 2.2 setTimeout的延迟时间必须要大于300 不要问为什么…

基于 Spring Boot + Vue 的宠物领养系统设计与实现

引言 近年来&#xff0c;随着人们生活水平的提高&#xff0c;宠物逐渐成为许多家庭的重要成员。然而&#xff0c;宠物的流浪和弃养问题日益严重&#xff0c;这促使社会对宠物领养的需求不断增长。为解决宠物领养中信息不对称、领养流程复杂等问题&#xff0c;设计并实现一个基…

设计模式学习[10]---迪米特法则+外观模式

文章目录 前言1. 迪米特法则2. 外观模式2.1 原理阐述2.2 举例说明 总结 前言 之前有写到过 依赖倒置原则&#xff0c;这篇博客中涉及到的迪米特法则和外观模式更像是这个依赖倒置原则的一个拓展。 设计模式的原则嘛&#xff0c;总归还是高内聚低耦合&#xff0c;下面就来阐述…

GDPU Android移动应用 访问网络

接到网络&#xff0c;开启你的访问之旅。 WebView的简单使用 WebView的简单使用&#xff0c;创建一个部件&#xff0c;上面一个button,下面一个webview布满整个屏幕&#xff0c;设置Web View的属性&#xff0c;使其可以执行Javascript&#xff08;自己尝试设置其他属性&#xf…

【burp】burpsuite基础(八)

Burp Suite基础&#xff08;八&#xff09; 声明&#xff1a;该笔记为up主 泷羽的课程笔记&#xff0c;本节链接指路。 警告&#xff1a;本教程仅作学习用途&#xff0c;若有用于非法行为的&#xff0c;概不负责。 ip伪装 安装组件jython 下载好后&#xff0c;在burp中打开扩展…

使用 EasyExcel 提升 Excel 处理效率

目录 前言1. EasyExcel 的优点2. EasyExcel 的功能3. 在项目中使用 EasyExcel3.1 引入依赖3.2 实体类的定义与注解3.3 工具类方法的实现3.4 在 Controller 中使用 4. 总结5. 参考地址 前言 在日常开发中&#xff0c;Excel 文件的处理是不可避免的一项任务&#xff0c;特别是在…

Liunx 中篇

3.4 打包压缩命令 3.5 文本编辑命令 文本编辑的命令&#xff0c;主要包含两个: vi 和 vim&#xff0c;两个命令的用法 类似&#xff0c;我们课程中主要讲解vim的使用。 3.5.1 vi和vim介绍 作用: vi命令是Linux系统提供的一个文本编辑工具&#xff0c;可以对文 件内容进行编辑…

kali Linux 安装配置教程(图文详解)

目录 一、下载安装VMware二、下载kali镜像三、安装kali到虚拟机 一、下载安装VMware 点我查看 二、下载kali镜像 官网下载&#xff1a;https://www.kali.org/get-kali/#kali-platforms 演示下载的为下图左边的&#xff0c;实际我们直接下载右侧虚拟机的直接使用就行 右侧下…

Bootstrap-HTML(四)徽章与表格

Bootstrap-HTML&#xff08;四&#xff09;徽章与表格 前言一、Bootstrap5 徽章&#xff08;一&#xff09;徽章的作用及创建&#xff08;二&#xff09;胶囊徽章&#xff08;三&#xff09;元素内的徽章 二、Bootstrap5 表格&#xff08;一&#xff09;创建一个简单的表格&…

RabbitMQ介绍及安装

文章目录 一. MQ二. RabbitMQ三. RabbitMQ作用四. MQ产品对比五. 安装RabbitMQ1. 安装erlang2. 安装rabbitMQ3. 安装RabbitMQ管理界⾯4. 启动服务5. 访问界面6. 添加管理员用户7. 重新登录 一. MQ MQ( Message queue ), 从字⾯意思上看, 本质是个队列, FIFO 先⼊先出&#xff…

Java基础复习

“任何时候我也不会满足&#xff0c;越是多读书&#xff0c;就越是深刻地感到不满足&#xff0c;越感到自己知识贫乏。科学是奥妙无穷的。” ——马克思 目录 一、方法&方法重载 二、运算符 三、数据类型 四、面向对象 1. 面向对象思想 2. 引用传递 3. 访问权限修饰…

高级架构二 Git基础到高级

一 Git仓库的基本概念和流程 什么是版本库&#xff1f;版本库又名仓库&#xff0c;英文名repository,你可以简单的理解一个目录&#xff0c;这个目录里面的所有文件都可以被Git管理起来&#xff0c;每个文件的修改&#xff0c;删除&#xff0c;Git都能跟踪&#xff0c;以便任何…

Docker保存镜像和导入镜像文件(图文详解)

Docker保存镜像和导入镜像文件&#xff08;图文详解&#xff09; Docker 保存和导入镜像文件是 Docker 镜像管理中的两个关键操作&#xff0c;它们在不同的场景下有着各自的意义和用途。以下是对这两个操作的详细说明&#xff1a; 1 基本命令介绍 1.1 Docker 保存镜像&#…

Vue指令(一)--v-html、v-show、v-if、v-else、v-else-if、v-on、v-bind、v-for、v-model

目录 &#xff08;一&#xff09;初识指令和内容渲染指令v-html 1.v-html 案例&#xff1a; 官网的API文档 &#xff08;二&#xff09;条件渲染指令v-show和v-if 1. v-show 2. v-if &#xff08;三&#xff09;条件渲染指令v-else和v-else-if 案例 &#xff08;四…

CV工程师专用键盘开源项目硬件分析

1、前言 作为一个电子发烧友&#xff0c;你是否有遇到过这样的问题呢。当我们去查看函数定义的时候&#xff0c;需要敲击鼠标右键之后选择go to definition。更高级一些&#xff0c;我们使用键盘的快捷键来查看定义&#xff0c;这时候可以想象一下&#xff0c;你左手按下ALT&a…

源码可运行-PHP注册登录源码,PHP实现登陆后才能访问页面

最近有一个项目需要实现会员注册和页面登陆后才能访问&#xff0c;所以简单的HTML是无法实现的&#xff0c;就必须通过PHP、html和Mysql来实现&#xff0c;先给大家看一下登录和注册页的效果图。&#xff08;注册完成后会自动跳转到登录窗口&#xff0c;即使A用户登陆后分享了网…

如何本地存储中的文件路径

文章目录 1. 概念介绍2. 实现方法3. 示例代码我们在上一章回中介绍了"如何实现本地存储"相关的内容,本章回中将介绍如何实现文件存储.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在上一章回中介绍的本地存储只能存储dart语言中基本类型的数值,如果遇到…

从变更到通知:使用Python和MongoDB Change Streams实现即时事件监听

MongoDB提供了一种强大的功能&#xff0c;称为Change Streams&#xff0c;它允许应用程序监听数据库中的变更事件&#xff0c;并在数据发生变化时立即做出响应。这在mysql数据库是不具备没有这个功能的。又如&#xff1a;我们在支付环节想一直监听支付回调的状态&#xff0c;就…

Lua使用点号和冒号的区别

首先建立一个table&#xff0c;再分别定义两个方法&#xff0c;如下&#xff1a; local meta {}function meta:test1(...)print(self)print("")for k,v in pairs({...}) doprint(v)end endfunction meta.test2(...)print(self)print("")for k,v in pairs…