数据库操作习题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)
);

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
);

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)
);

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)
);

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 y
	where y.compname = '北华' and not exists(
    	select *
		from company as z
        where z.compname = x.compname and z.city = y.city
    )
) and compname!='北华';

5.

select distinct compname,count(*) as number
from works 
group by compname
ORDER BY number DESC
LIMIT 1;

6.

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

7.

select distinct subtable.empname,subtable.street,subtable.city
from(
	select managers.empname,street,city,mgrname
	from employee
	join managers
	where 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 mgrname
    from 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'

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

issue queue的实现方式

主要从一下几个点进行考虑&#xff1a; 集中式&#xff08;Centrallized&#xff09;或者分布式(Distributed)&#xff1b;压缩式&#xff08;Compressing&#xff09;或者非压缩式(Non-compressing)&#xff1b;数据捕捉的方式&#xff08;Data-capture&#xff09;或者非数据…

Ubuntu系统使用Nginx搭建RTMP服务器

环境&#xff1a; 推流端 rockpi s 主控rk3308 运行ubuntu系统 服务端 ubuntu 播放器 VLC播放器 服务端安装依赖&#xff1a; apt-get install build-essential libpcre3 libpcre3-dev libssl-dev创建nginx编译目录&#xff1a; mkdir my_nginx_rtmp cd my_nginx_rtmp/下载 …

Linux性能调优技术概览

Linux性能调优技术概览 概述 这里的Linux性能调优主要是关于Linux系统上程序的性能跟踪&#xff0c;因为只有收集到足够的准确的性能数据才能找到程序和系统的性能瓶颈。Linux性能调优的原理、框架、工具等内容包括三个方面&#xff1a; 信息源 通常是以“事件”的形式&#…

X86汇编语言:从实模式到保护模式(代码+注释)--c10、11(保护模式:32位x86处理器编程架构+进入保护模式)

保护模式&#xff1a;32位x86处理器编程架构 IA-32架构的基本执行环境 寄存器扩展 通用寄存器&#xff08;32&#xff09;&#xff1a;EAX EBX ECX EDX ESI EDI EBP ESP 指令寄存器&#xff08;32&#xff09;&#xff1a;EIP 标志寄存器&#xff08;32&#xff09;&#xff…

Hive学习新天地一站式掌握Hive技能,让你成为大数据领域的佼佼者!

介绍&#xff1a;Hive是一个构建在Hadoop顶层的数据仓库工具&#xff0c;起源于Facebook为了解决海量数据的统计分析需求。它能够将结构化的数据文件映射为一张数据库表&#xff0c;并提供类似于SQL的查询功能&#xff0c;可以将SQL语句转换为MapReduce任务进行运行。 Hive的出…

【企业转型】以企业架构为中心的SABOE数字化转型五环法

01 传统企业数字化转型面临诸多挑战 即将过去的2023年&#xff0c;chatGPT大模型、数据资产入表等事件的发生&#xff0c;标志着数字经济正在加速发展。数字经济是人类社会继农业经济、工业经济之后的第三种经济形态&#xff0c;将推动生产方式、生活方式和治理方式深刻变革&a…

21.Servlet 技术

JavaWeb应用的概念 在Sun的Java Servlet规范中&#xff0c;对Java Web应用作了这样定义&#xff1a;“Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行。” Java Web应用中可以包含如下…

教师退休享受国家规定的什么待遇

作为一名教师&#xff0c;一直致力于为学生提供最好的教育服务。然而&#xff0c;随着时间的推移&#xff0c;我们的身体和精力可能会逐渐下降&#xff0c;最终不得不退休。 那么&#xff0c;教师退休后可以享受哪些待遇呢&#xff1f;根据我所了解的情况&#xff0c;以下是一些…

2023本四前端社招面经

美团 全程问项目&#xff0c;根据项目提问&#xff0c;SEO优化方案&#xff0c;还出了一道动态规划的题 SEO优化方案 一、内部优化 META 标签优化&#xff1a;例如&#xff1a;TITLE&#xff0c;KEYWORDS&#xff0c;DESCRIPTION &#xff08;TDK&#xff09;等的优化 内部链接…

窗口看门狗和独立看门狗的异同

场景&#xff1a;工业自动化控制器 1. 独立看门狗的应用&#xff1a; 要求&#xff1a; 在一个工业自动化控制器中&#xff0c;需要确保周期性任务能够按时完成。在这个场景中&#xff0c;如果周期性任务在规定的时间内没有完成&#xff0c;可能会导致系统的不稳定。 实现&am…

黑皮诺、白皮诺与灰皮诺各自的特点?

黑皮诺在所有葡萄品种中被誉为的“公主般娇弱的身子却有着皇后的命”&#xff0c;被众多酿酒师认为是最娇弱又最名贵的葡萄品种。云仓酒庄的品牌雷盛红酒LEESON分享这么受欢迎的葡萄品种还有两个同样气质出众的妹妹&#xff0c;分别是灰皮诺和白皮诺。只是姐姐黑皮诺的名气实在…

【Python】人工智能-机器学习——不调库手撕贝叶斯分类问题

1. 作业内容描述 1.1 背景 数据集大小150该数据有4个属性&#xff0c;分别如下 Sepal.Length&#xff1a;花萼长度(cm)Sepal.Width&#xff1a;花萼宽度单位(cm)Petal.Length&#xff1a;花瓣长度(cm)Petal.Width&#xff1a;花瓣宽度(cm)category&#xff1a;类别&#xff0…

GNSS定位中常见的几大坐标系统及其相互转换

目录 一、坐标系概念 二、常见的几大坐标系统 1.ECEF坐标系 2.ENU坐标系 3.LLA坐标系 4.三个坐标系之间的相互转化关系 (1)LLA坐标系转ECEF坐标系 (2)ECEF坐标系转LLA坐标系 (3)ECEF坐标系转ENU坐标系 (4)ENU坐标系转ECEF坐标系 (5)LLA坐标系转ENU坐标系 (6)ENU坐标…

Linux下Netty实现高性能UDP服务

前言 近期笔者基于Netty接收UDP报文进行业务数据统计的功能&#xff0c;因为Netty默认情况下处理UDP收包只能由一个线程负责&#xff0c;无法像TCP协议那种基于主从reactor模型实现多线程监听端口&#xff0c;所以笔者查阅网上资料查看是否有什么方式可以接收UDP收包的性能瓶颈…

Jenkins配置代理节点时遇到的坑和解决办法

需求&#xff1a;服务器太满了&#xff0c;需要找个比较空闲的机器分担一下&#xff0c;看上了同网络的某开会用的笔记本&#xff0c;把这个本本利用起来能跑一个算一个。 但配置起来并不容易&#xff0c;遇到的问题有些网上也几乎找不到答案。这里记录一下能救一个是一个&…

STP原理与配置

为了提高网络可靠性&#xff0c;交换网络中通常会使用冗余链路。然而&#xff0c;冗余链路会给交换网络带来环路风险&#xff0c;并导致广播风暴以及MAC地址表不稳定等问题&#xff0c;进而会影响到用户的通信质量。生成树协议STP&#xff08;Spanning Tree Protocol&#xff0…

【深度学习目标检测】九、基于yolov5的路标识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型&#xff0c;其具有以下几个优势&#xff1a; 1. 高精度&#xff1a;YOLOv5相比于其前身YOLOv4&#xff0c;在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进&#xff0c;如更深的网络结构、更多的特征层和更高分辨率的输入图…

VSCode 配置自动生成头文件

相关文章 VSCode 开发C/C实用插件分享——codegeex VSCode 开发C/C实用插件分享——koroFileHeader VSCode 配置自动生成头文件 一、snippets二、配置步骤三、效果展示 一、snippets 相信大家对C、C都头文件都不陌生&#xff0c;都会发现每个头文件都会包括下面的这些格式&…

【PostgreSQL】从零开始:(三)PgAdmin4下载与安装

【PostgreSQL】从零开始:&#xff08;三&#xff09;PgAdmin4下载与安装 pgAdmin简介liunx下部署通过yum部署pgAdmin4&#xff08;6.21&#xff09;1.安装依赖包2.永久停止防火墙3.配置pgadmin4项目源4.下载并安装pgAdmin45.执行初始化命令6.访问我们的网站 liunx下通过python方…

思码逸企业版 4.0 特性之三:研发效能数据的智能化分析与解读

建立研发效能体系&#xff0c;数据的收集与清理并建立指标体系只是第一步&#xff0c;如果不针对这些指标采集到的数据进行分析&#xff0c;那就无法做到研发效能度量闭环&#xff0c;那么指标体系也就毫无意义。所以研发效能分析在整个研发效能改进闭环中占据非常重要的一环。…