当前位置: 首页 > news >正文

数据库操作习题12.12

考虑如下的人员数据,其中加下划线的是主码,数据库模式由四个关系组成:
employee (empname, street, city)
works (empname, compname, salary)
company(id, compname, city)
managers (empname, mgrname)
其中

关系 employee 给出人员的基本信息,包括人员姓名(empname),居住的城市(city)
和街道 (street):

works 存人员工作的公司名称(compname) 及年薪 (salary),单位为万元;

company包括一个自增类型的 id、公司名称(compname)和公司所在城市(city);

managers存储人员及直属经理的信息。按要求完成下列数据库操作:


1.找出工作城市在“北京”且年薪高于 20 万的人员信息:(关系代数表达式 1分+SQL1分)
2.找出所有不在“美华”公司工作的人员信息:(关系代数表达式 2 分 + SQL2 分)
3.查询全体人员年薪情况,要求包含无业人员:(关系代数表达式3 分 +SQL3 分)
4.假设一个公司可以在多个城市开设。找出在“北华”公司所在城市均设厂的公司:(关系
代数表达式4分 +SQL8 分)
5.查询员工人数最多的公司名称及人数;(SQL8 分)
6.找出数据库中年薪超过“北华”公司的每名员工的人员信息:(SQL5 分)
7.找出数据库中所有居住街道和城市与其经理相同的人员信息:(SQL6分)
8.修改数据库,使为“北华”公司工作的所有年薪不超过 100 万的经理增长 10%;(SQL5分)
9.创建一个视图 COMINFO(compname,avgsalary),其中 avgsalary 表示该公司员工平均薪
水: (SQL5 分)
10.SQL 语句完成将 works 关系的查询与插入权限赋予 userl。(SQL2 分)

构造测试数据

-- 创建 employee 表并插入数据
CREATE TABLE employee (empname VARCHAR(50),street VARCHAR(50),city VARCHAR(50),primary key(empname)
);INSERT INTO employee (empname, street, city) VALUES
('张三', '街道1', '北京'),
('李四', '街道2', '上海'),
('王五', '街道3', '广州'),
('赵六', '街道1', '北京'),
('钱七', '街道5', '上海'),
('孙八', '街道6', '北京'),
('周九', '街道3', '广州'),
('吴十', '街道8', '上海'),
('郑十一', '街道9', '北京'),
('王十二', '街道10', '广州');-- 创建 works 表并插入数据
CREATE TABLE works (empname VARCHAR(50),compname VARCHAR(50),salary FLOAT,primary key(empname)
);INSERT INTO works (empname, compname, salary) VALUES
('张三', 'ABC', 25),
('李四', '美华', 110),
('王五', 'XYZ', 18),
('赵六', 'ABC', 22),
('钱七', '北华', 105),
('孙八', '北华', 45),
('周九', 'XYZ', 40),
('郑十一', '北华', 26),
('王十二', 'ABC', 23);-- 创建 company 表并插入数据
CREATE TABLE company (id INT,compname VARCHAR(50),city VARCHAR(50),primary key(id)
);INSERT INTO company (id, compname, city) VALUES
(1, 'ABC', '北京'),
(2, '美华', '上海'),
(3, 'XYZ', '北京'),
(4, '北华', '广州'),
(5, 'DEF', '上海'),
(6, 'GHI', '北京'),
(7, 'JKL', '广州'),
(8, 'MNO', '上海'),
(9, 'PQR', '北京'),
(10, 'PQR', '上海'),
(11, 'PQR', '广州'),
(12, '北华', '北京'),
(13, 'STU', '广州'),
(14, 'STU', '北京');-- 创建 managers 表并插入数据
CREATE TABLE managers (empname VARCHAR(50),mgrname VARCHAR(50),primary key(empname)
);INSERT INTO managers (empname, mgrname) VALUES
('张三', '赵六'),
('郑十一', '孙八'),
('孙八', '钱七'),
('王五', '周九'),
('王十二', '张三');

1.

select distinct employee.empname,street,employee.city
from works
left join employee on works.empname = employee.empname 
left join company on company.compname = works.compname
where employee.city='北京' and works.salary > 20;

2.

select distinct employee.empname,street,employee.city
from employee
left join works on works.empname = employee.empname 
where works.compname!='美华'

3.

select distinct works.salary
from employee
left join works on works.empname = employee.empname 

4.

select distinct compname
from company as x
where not exists(select *from company as ywhere y.compname = '北华' and not exists(select *from company as zwhere z.compname = x.compname and z.city = y.city)
) and compname!='北华';

5.

select compname,count(*)
from works
group by compname
having count(*)>=all(select count(*)from works group by compnamehaving count(*)
)

6.

select distinct employee.empname,street,employee.city
from employee
left join works on works.empname = employee.empname
where salary > all(select salaryfrom workswhere compname = '北华'
)

7.

select distinct subtable.empname,subtable.street,subtable.city
from(select managers.empname,street,city,mgrnamefrom employeejoin managerswhere employee.empname = managers.empname
)as subtable
left join employee on employee.empname = subtable.mgrname
where employee.street = subtable.street and employee.city = subtable.city 

8.

update works 
set salary =salary * 1.1
where salary < 100 and compname = '北华' and empname in(select mgrnamefrom managers
)

9.

create view COMINFO(compname,avgsalary )
as  
select compname,AVG(salary) as avgsalary
from works
group by compname

10.

grant insert,select
on works
to 'userl'

相关文章:

数据库操作习题12.12

考虑如下的人员数据&#xff0c;其中加下划线的是主码&#xff0c;数据库模式由四个关系组成: employee (empname, street, city) works (empname, compname, salary) company(id, compname, city) managers (empname, mgrname) 其中 关系 employee 给出人员的基本信息,包括人员…...

Redis之INCR命令,通常用于统计网站访问量,文章访问量,分布式锁

前言 Redis的INCR命令用于将键的值增加1。如果键不存在&#xff0c;则会先将键的值设置为0&#xff0c;然后再执行INCR操作。INCR命令的作用是对计数器进行自增操作&#xff0c;可以用于实现多种场景&#xff0c;比如统计网站访问量、文章访问量、分布式锁等。 一、Redis键之…...

window运行celery报错

报错信息 Traceback (most recent call last): File "c:\program files\python36\lib\site-packages\billiard\pool.py", line 359, in workloop result (True, prepare_result(fun(*args, **kwargs))) File "c:\program files\python36\lib\site-packages\ce…...

玩转Docker(五):网络

文章目录 〇、关于linux系统网络一、none网络二、host网络三、bridge网络一个问题&#xff1a;为什么在主机上仍可以通过localhost:port访问到容器中的服务&#xff1f; 四、user-defined网络 Docker安装时会自动在host上创建三个网络&#xff0c;我们可用docker network ls命令…...

选择合适教育管理软件:必须考虑的10个关键问题

随着教育行业的迅速数字化&#xff0c;学校要能够提供最新的管理和教育方法。大家逐渐意识到技术让运营变得更容易、更有效率。 不过首先我们需要找到一个能满足需求的应用程序。面对众多的选择&#xff0c;你该如何选择一个合适的平台呢&#xff1f;当然&#xff0c;没有人想…...

前端不同架构的分层设计

1. 架构设计分层: (1). 系统架构: ①. 应用场景:a. 应用在整个系统内,如与后台服务如何通信,与第三方系统如何集成.②. 前提条件:a. 了解前端系统与其它系统间的关系,包括业务关系和协作机制.b. 了解后端系统,需要规定与后台数据传递的机制,包括:(1). api设计规范(2). 访问授…...

android系统镜像文件

boot.img&#xff1a;这是包含内核和设备树&#xff08;Device Tree&#xff09;的镜像文件。它被引导加载程序&#xff08;bootloader&#xff09;加载以启动系统&#xff0c;并负责将控制权转交给内核。 dtbo.img&#xff1a;这是设备树增量编译&#xff08;Device Tree Ove…...

相位的重要性

在过去的几年中&#xff0c;相干信号和图像处理尖端技术的开发和应用有了显著的增长。相干处理的特点是使用一个称为相位的单一量[1]。相比之下&#xff0c;非相干处理只利用信号幅度或强度。需要进行相干处理的例子包括合成孔径雷达&#xff08;SAR&#xff09;、合成孔径声纳…...

(三十三)补充Python经典面试题(吸收高级编程特性)

第一题&#xff1a; def func(a, b[]): pass一、上题讲解&#xff1a; 这个函数定义有一个默认参数b&#xff0c;它的默认值是一个空列表[]。这道面试题涉及到Python中函数参数默认值的一些重要概念和陷阱。 首先&#xff0c;当你调用这个函数时&#xff0c;如果不传递参数b…...

SQL进阶理论篇(四):索引的结构原理(B树与B+树)

文章目录 简介如何评价索引的数据结构设计好坏二叉树的局限性什么是B树什么是B树总结参考文献 简介 我们在上一节中说过&#xff0c;索引其实是一种数据结构&#xff0c;那它到底是一种什么样的数据结构呢&#xff1f;本节将简单介绍一下几个问题&#xff1a; 什么样的数据结…...

springMVC-模型数据的处理

一、数据放入到request域当中 1、把获取的数据放入request域中&#xff0c; 方便在跳转页面去显示 <a>添加主人信息</a> <form action"vote/vote04" method"post" >主人id&#xff1a;<input type"text" name"id&q…...

计算机组成原理-微指令的设计与微程序控制单元的设计

文章目录 微指令的设计微指令的格式微指令的编码方式水平型微指令的操作控制部分的编码方式直接编码字段直接编码例题字段间接编码方式 微指令的地址形成方式例题小结 微程序控制单元的设计微程序设计分类硬布线与微程序的比较 微指令的设计 微指令的格式 水平型微指令的操作…...

PyTorch机器学习与深度学习

近年来&#xff0c;随着AlphaGo、无人驾驶汽车、医学影像智慧辅助诊疗、ImageNet竞赛等热点事件的发生&#xff0c;人工智能迎来了新一轮的发展浪潮。尤其是深度学习技术&#xff0c;在许多行业都取得了颠覆性的成果。另外&#xff0c;近年来&#xff0c;Pytorch深度学习框架受…...

羊奶vs牛奶,羊大师告诉你谁是更营养的选择?

羊奶vs牛奶&#xff0c;羊大师告诉你谁是更营养的选择&#xff1f; 羊奶和牛奶是两种常见的乳制品&#xff0c;它们不仅在口味上有所差异&#xff0c;而且在营养成分方面也存在一些差异。本文将对羊奶和牛奶的营养成分进行全面对比&#xff0c;旨在帮助读者更好地了解这两种乳…...

机器学习之线性回归(Linear Regression)

概念 线性回归(Linear Regression)是机器学习中的一种基本的监督学习算法,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。它假设输入变量与输出变量之间存在线性关系,并试图找到最佳拟合线来描述这种关系。 在简单线性回归中,只涉及两个变量:一个是自变量…...

ChatGPT与ArcGIS PRO 如何结合,打造一个全新的工作流程

在地学领域&#xff0c;ArcGIS几乎成为了每位科研工作者作图、数据分析的必备工具&#xff0c;而ArcGIS Pro3除了良好地继承了ArcMap强大的数据管理、制图、空间分析等能力&#xff0c;还具有二三维融合、大数据、矢量切片制作及发布、任务工作流、时空立方体等特色功能&#x…...

【深度学习】对比学习的损失函数

前言 对比学习损失&#xff08;Contrastive Learning Loss&#xff09;是一种用于自监督学习的损失函数。它侧重于学习一个特征空间&#xff0c;其中相似的样本被拉近&#xff0c;而不相似的样本被推远。在二分类任务中&#xff0c;对比学习损失可以用来学习区分正负样本的特征…...

哈夫曼解码

【问题描述】 给定一组字符的Huffman编码表&#xff08;从标准输入读取&#xff09;&#xff0c;给定一个用该编码表进行编码的Huffman编码文件&#xff08;存在当前目录下的in.txt中&#xff09;&#xff0c;编写程序对Huffman编码文件进行解码。 例如给定的一组字符的Huffm…...

Excel小技能:excel如何将数字20231211转化成指定日期格式2023/12/11

给了一串数字20231211&#xff0c;想要转成指定格式的日期格式&#xff0c;发现设置单元格格式为指定日期格式不生效&#xff0c;反而变成很长很长的一串#这个&#xff0c;如图所示&#xff1a; 其实&#xff0c;正确的做法如下&#xff1a; 1&#xff09;打开数据功能界面&am…...

Selenium自动化测试框架(超详细总结分享)

设计思路 本文整理归纳以往的工作中用到的东西&#xff0c;现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架&#xff0c;能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...