【深圳大学数据库系统】实验2 SQL的多表连接查询以及视图

本文介绍了通过实验学习DBMS系统功能,包括SQL语句的定义与应用,如多表连接查询、聚合函数、视图操作和子查询。学生通过实例如查找特定经理的员工、薪资分析和供应商关系等,掌握了SQL的基础操作技巧。
摘要由CSDN通过智能技术生成

一、实验目的:

1、了解DBMS系统的功能、软件组成;

2、掌握利用SQL语句定义、和简单操纵数据库的方法。

二、实验要求:

1、基于实验一已经建立的表格练习典型的多表连接查询SQL语句

2、练习聚合函数

3、练习视图的创建查询、插入、更新、删除等操作

三、实验设备:

计算机、数据库管理系统如DB2,Oracle 等软件。

四、实验内容

根据已经创建的数据库关系表EMP+(学生自己的学号)和DEPT+(学生自己的学号)完成SQL handbook 中的老师指定的较难题目:

以下为学生实验部分,所有题目要求有语句和运行结果截屏:

2.6 列出以BLAKE为经理的员工。

这个查询使用了一个子查询来查找 "BLAKE" EMPNO(员工编号),然后在主查询中使用这个 EMPNO 来查找以 "BLAKE" 为经理的员工。这将返回所有属于 "BLAKE" 管辖的员工的详细信息。

6.6 查找所有收入高于所在部门员工平均工资的员工。

这个查询首先选择了员工的编号(EMPNO)、姓名(ENAME)、薪水(SAL)和部门编号(DEPTNO),然后使用子查询计算每个员工所在部门的平均工资,并将其与员工的薪水进行比较。如果员工的薪水高于其所在部门的平均工资,他们将包括在结果中。

思考题:找出供应所有红色零部件的供应商名称。

这个查询的思路是查找所有供应商,对于每个供应商,检查是否不存在任何红色零部件,即没有红色零部件的零部件不在供应商的供应列表中。如果不存在这样的零部件,那么该供应商符合条件,并且将包括在结果中。

2.5 对于每个工资超过其经理工资的员工,列出该员工的姓名和工资以及经理的姓名和薪水。

使用自连接,将同一个表(emp2021150047)连接两次,一次用于员工信息,一次用于经理信息。然后,它筛选出员工的薪水高于其经理的薪水的行,并返回员工的姓名、薪水,以及经理的姓名和薪水。

6.3 列出与Jones有相同工作或工资高于或等于Ford的员工的姓名、职位和部门。

这个查询使用了子查询来查找 "Jones" 和 "Ford" 的工作和工资,然后在主查询中筛选出具有相同工作或工资高于或等于 "Ford" 的员工。它将返回这些员工的姓名、职位和部门。

Example 4: 获取至少提供S2提供的所有零件的供应商的编号。

这个查询的思想是使用子查询来查找S2提供的所有零件,然后再次使用子查询来检查是否没有供应商提供所有这些零件。如果没有供应商提供所有这些零件,他们就会包含在查询结果中。

五.实验心得

   通过本次实验,我掌握了SQL语句的基本语法和操作方法。我学会了如何使用SQL语句来查询数据、插入新数据、更新现有数据以及删除数据。

    学会了如何在SQL中执行多表连接查询,以检索相关表中的数据。多表连接查询对于处理复杂数据关系非常有用,例如查找员工和他们的经理之间的关系。

    了解了聚合函数的作用和用法。这些函数用于计算数据的汇总信息,如平均值、总和、最大值和最小值。

(by 归忆)

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归忆_AC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值