[数据库系统] 三、简单查询

news2025/1/17 5:56:28

目录

第1关:简单查询

1.检索数据表所有的元组

2.检索符合条件的元组

educoder

 第2关:多表查询

1.笛卡尔积

2.等值连接

3.自然连接

4.左外连接和右外连接的表示方法及转换为SQL

educode

第3关:集合操作 

1.集合并操作

2.集合交操作

3.集合差操作

educode

第1关:简单查询

1.检索数据表所有的元组

        则使用不带where条件的select语句 select * from R

2.检索符合条件的元组

        使用关系代数操作符:

        (读作sigma),从关系R中选出满足条件C的元组(全部属性)的关系代数表达式,

        可转换为SQL语句 select * from R where C

3. 结合投影可选出满足条件C的指定属性集(L),关系代数表达式为:

        可转换为SQL语句 select L from R where C

在数据库test_wyy_db_guet中,有关系 Student(Sno, Sname, Ssex, Sage, Sdept),示例元组如下所示:

educoder

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需根据右侧提示,完成以下任务:

  • 1.检索表 student 中ssex 为F 的所有学生信息;

  • 2.检索表 student中IS系所有学生的学号和姓名 。

  • 3.检索表 student中年龄小于20岁且性别是F的学生姓名 。

  • 本关涉及到的测试文件是 step1_test.sh ,平台将运行用户补全的 step1.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

USE test_wyy_db_guet
GO

SET NOCOUNT ON

---------- retrieving  all columns----------
 
-- ********** Begin ********** --
-- ********** 此处写第一题的SQL语句 ********** --
select *
from student
where ssex='F';
-- ********** End ********** --

GO

---------- retrieving  sno and sname----------
-- ********** Begin ********** --
-- ********** 此处写第二题的SQL语句 ********** --
select sno,sname
from student 
where Sdept = 'IS';
-- ********** End ********** --

GO

---------- retrieving  sname----------
-- ********** Begin ********** --
-- ********** 此处写第三题的SQL语句 ********** --
select sname
from student
where Sage<20 and Ssex = 'F';
-- ********** End ********** --

GO

 第2关:多表查询

join操作符

1.笛卡尔积

RXS
可直接转换为SQL语句

2.等值连接

记作

可直接转换为SQL语句

3.自然连接

记作

可转换为SQL语句

4.左外连接和右外连接的表示方法及转换为SQL

注意若多个关系有同名属性,则用 关系名.属性名 指出重名属性

连接也可以与投影,选择等结合使用。

educode

编程要求

  • 1.补全右侧代码片段中 第一题 下 Begin-End 区间的代码,查询选修了‘2’号课程的学生的学号;
  • 2.补全右侧代码片段中 第二题 下 Begin-End 区间的代码,查询Liyong选修的课程成绩。
  • 3.补全右侧代码片段中 第三题 下 Begin-End 区间的代码,查询选修课程名称Math的学生学号。

使用的表结构:

Student(Sno, Sname, Ssex, Sage, Sdept)

Course(Cno, Cname,Ccredit)

SC(Sno, Cno, Grade)

  • 本关涉及到的测试文件是 step2_test.sh ,平台将运行用户补全的 step2.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

USE test_wyy_db_guet
Go

SET NOCOUNT ON


-- ********** Begin ********** --
---------- 第一题----------
select sno
from SC 
where Cno = '2';
-- ********** End ********** --
GO


-- ********** Begin ********** --
---------- 第二题----------
select grade
from SC
join Student 
on (Student.Sno=SC.Sno)
where Sname = 'Liyong';
-- ********** End ********** --
GO

-- ********** Begin ********** --
---------- 第三题----------
select sno
from SC
join Course
on (SC.Cno=Course.Cno)
where Cname='Math';
-- ********** End ********** --
GO

第3关:集合操作 

1.集合并操作

可转换为SQL

若R,S的属性名不同,可使用重命名使相应列名一致后进行并操作

例如:R(A,B,C) S(D,E,F)

select A,B from R

union

select D as A, E as B from S

2.集合交操作

可直接转换为SQL

select * from R

intersect

select * from S

若属性名不同可参照并操作的重命名实现交操作。

3.集合差操作

R-S

可转换为

Select * from R

except

Select * from S

educoder

编程要求

我们已经为你建好了数据库与数据表R,S,并添加了相应的数据内容。

  • 1.找出所有的导师的姓名和性别

  • 2.找出既是本科生导师又是硕士生导师的全部信息,包括id,name,sex

  • 3.找出是本科生导师但不是硕士生导师的全部信息,包括id,name,sex

测试说明

测试过程:

  • 本关涉及到的测试文件是 step3_test.sh ,平台将运行用户补全的 step3.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

USE test_wyy_db_guet
Go

SET NOCOUNT ON

---------- 第一题 ----------
-- ********** Begin ********** --
select name , sex
from R
Union
select name , sex
from S
-- ********* End ********** --

GO

---------- 第二题 ----------
-- ********** Begin ********** --
select id , name , sex
from R
intersect
select id , name , sex
from S
-- ********** End ********** --

GO

---------- 第三题 ----------
-- ********** Begin ********** --
select id , name , sex
from R
except
select id , name , sex
from S


-- ********** End ********** --

GO

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

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

相关文章

小学生护眼用什么样的台灯比较好用一点?小学生护眼台灯排行榜

孩子近视了&#xff0c;很多家长认为是数码产品导致的。其实除了数码产品&#xff0c;灯光也是一个非常重要的原因。或许你认为卧室的灯亮孩子写作业就没有问题&#xff0c;其实这种情况仍会出现灯下黑的现象。如果你想孩子写作业不受灯光的影响&#xff0c;那么一定要给他们配…

实验四 数据库设计

【实验目的】 1、掌握规范化数据库设计包括步骤及其任务、方法、结果等。 2、掌握数据库设计过程中关键文档的写法。 3、了解数据库辅助设计工具。 【实验内容】 请按下面大纲书写实验报告&#xff08;请自行附页&#xff09;。 &#xff08;1&#xff09;需求分析&#…

【MySQL】Mysql索引失效场景(15个必知)

文章目录 背景数据库及索引准备创建表结构初始化数据数据库版本及执行计划 1、联合索引不满足最左匹配原则2、 使用了select *3 、索引列参与运算4、 索引列参使用了函数5、 错误的Like使用6、 类型隐式转换7、使用OR操作8、 两列做比较9、 不等于比较10、 is not null11、 not…

ChatGPT实现stackoverflow 解释

stackoverflow 解释 ChatGPT 公开服务以来&#xff0c;程序员们无疑是最早深入体验和"测试"的一批人。出色的效果也引发了一系列知识产权上的争议。著名的 stackoverflow 网站&#xff0c;就宣布禁止用户使用 ChatGPT 生成的内容来回答问题&#xff0c;一经发现&…

系统分析师之系统设计(十五)

目录 一、软件流程设计 1.1 业务流程分析方法 1.2 业务流程建模 1.2.1 标杆瞄准 1.2.2 IDEF 1.2.3 DEMO 1.2.4 流程建模语言 1.2.5 基于服务的BPM 1.2.6 业务流程重组BPR 1.2.7 业务流程管理BPM 二、软件架构设计 2.1 概念 2.2 软件架构风格 三、 结构化设计 四…

这样的应急科普,你爱了吗?

“当我给救援队叔叔系上红领巾的时候&#xff0c;我特别的自豪&#xff0c;很开心&#xff01;” “救援队的叔叔、阿姨们都很伟大&#xff0c;我长大了&#xff0c;也想和他们一样。” “我爸爸就是一名救援队队员&#xff0c;我很崇拜他&#xff01;” 敬少先队员礼&#…

高通 Android 8/9/12/13 兼容U盘识别extfat模式

Android本身不支持extfat格式 需要通过nofuse 打kernel补丁方式去实现 Android 8/9 1、kernel/msm-4.9/arch/arm64/configs/sdm670-perf_defconfig 增加代码如下&#xff08;需要提交编译kernel记得git add sdm670-perf_defconfig 不需要commit哈&#xff01;否则编译会还原…

最强算法视频公开课!(内容硬核,完全免费!

和录友们汇报一下&#xff0c;代码随想录算法公开课已经更新完毕了。 由我亲自录制了140期算法视频&#xff0c;覆盖了 《代码随想录》纸质版上全部题目的讲解。 视频全部免费开放在B站&#xff1a;代码随想录 目录就在视频播放的右边&#xff0c;完全按照代码随想录的顺序讲…

利用Redis的SetNx一步步实现分布式锁并改进

文章目录 1 基本原理和实现方式对比2 Redis分布式锁的实现核心思路3 利用setnx方法实现分布式锁加锁逻辑释放锁逻辑修改业务代码 4 Redis分布式锁误删情况说明5 解决Redis分布式锁误删问题6 分布式锁的原子性问题7 Lua脚本解决多条命令原子性问题8 利用Java代码调用Lua脚本改造…

DevOps产品开发实践

背景 2022年11月&#xff0c;公司启动了智能运维产品的研发项目&#xff0c;该项目基于zabbix进行二次开发&#xff0c;对行业客户的数据中心的基础软硬件设施进行数据采集和分析&#xff0c;通过持续的数据采集和监控&#xff0c;及时发现数据中心软硬件的异常状态并预警&…

k8s集群部署 | 三节点(复用)高可用集群过程参考

文章目录 1. kubeadm 部署三节点&#xff08;复用&#xff09;高可用 k8s 集群1.1 环境规划阶段1.1.1 实验架构图1.1.2 系统版本说明1.1.3 环境基本信息1.1.4 k8s 网段划分 1.2 基础安装及优化阶段1.2.1 系统信息检查1.2.2 静态 IP 地址配置1.2.3 配置主机名1.2.4 配置/etc/hos…

open3d 源码阅读kd_tree_search.py

核心函数接口&#xff1a; search_radius_vector_3d search_knn_vector_3d # ---------------------------------------------------------------------------- # - Open3D: www.open3d.org - # ----------------------…

基于Html+css的图展示52

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

ubuntu脚本解释器踩坑:#!/bin/bash 与 #!/bin/sh

前言&#xff1a; 博主正在写linux的脚本的时候遇到&#xff1a;xx.sh: 3: Syntax error: "(" unexpected 查看shell脚本语法没有问题&#xff0c;后面发现是解释器的原因。 一、不同的解释器 #!是特殊的表示符&#xff0c;其后面根的是此解释此脚本的shell的路径…

【Linux】Linux安装Nexus(图文解说详细版)

文章目录 1.下载2.解压3.启动4.打开防火墙(云服务器&#xff09;5.访问nexus 1.下载 https://help.sonatype.com/repomanager3/product-information/download/download-archives—repository-manager-3 新建nexus文件夹&#xff0c;上传到服务器中 2.解压 tar -zxvf nexus-3.…

Java序列化引发的血案

1、引言 阿里巴巴Java开发手册在第一章节&#xff0c;编程规约中OOP规约的第15条提到&#xff1a; **【强制】**序列化类新增属性时&#xff0c;请不要修改serialVersionUID字段&#xff0c;避免反序列失败&#xff1b;如果完全不兼容升级&#xff0c;避免反序列化混乱&#x…

【大数据之Hadoop】二十七、生产调优-HDFS多目录

1 NameNode多目录配置 NameNode本地目录可以配置多个&#xff0c;每个目录存放内容相同&#xff0c;增加可靠性。 在hdfs-site.xml中添加&#xff0c;每台服务器节点的磁盘不同&#xff0c;可以选择不分发。 <property><name>dfs.namenode.name.dir</name>…

All in AI,现在开始算不算太晚?

编者按&#xff1a;目前大模型近乎可以帮助人类处理方方面面的事情&#xff0c;如对话、写文章、写代码等等。在大模型“狂飙”趋势下&#xff0c;想要从事AI领域的小伙伴可能会犹疑&#xff1a;现在进入AI领域会不会已经太晚了&#xff1f; 本文作者结合自身转型经历和对AI市场…

蓝牙耳机哪个牌子好?无线蓝牙耳机前十排名

现如今&#xff0c;蓝牙耳机品牌越来越多&#xff0c;很多人都不知道怎么选。下面&#xff0c;我来给大家推荐十款很不错的蓝牙耳机&#xff0c;有需要的朋友可以参考一下。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xff1a;239 蓝牙版本&#xff1a;5.3 南卡作为国产影音数码…

[数据库系统] 四、分组操作符与聚集函数

第1关&#xff1a;数据统计&#xff08;初级&#xff09; 使用 group by 语句结合聚集函数解决数据统计问题 数据统计 一般的数据统计关系代数表达式如下&#xff1a; 其中L是属性集。含义是在属性集L上分组&#xff0c;分组后用函数fun运算 &#xff0c;如 表示按性别sex的…