数据库作业六

创建视图v_emp_dept_id_1,查询销售部门的员工姓名和家庭住址

CREATE VIEW v_emp_dept_id_1 AS

SELECT e.emp_name,e.address FROM dept d, emp e WHERE e.dept_id = 
(SELECT dept_id FROM dept WHERE dept_name = '销售部');

SELECT * FROM v_emp_dept_id_1;

创建视图v_emp_dept,查询销售部门员工姓名和家庭住址及部门名称。

CREATE VIEW v_emp_dept AS
SELECT e.emp_name,e.address,d.dept_name FROM dept d, emp e WHERE e.dept_id = 
(SELECT dept_id FROM dept WHERE dept_name = '销售部');

SELECT * FROM v_emp_dept;

创建视图v_dept_emp_count(dept_name,emp_count,avg_salay),统计每个部门人数并计算平均工资。

CREATE VIEW v_dept_emp_count(dept_name,emp_count,avg_salay) AS
SELECT d.dept_name,a.emp_count,a.avg_salay FROM dept d,
(SELECT dept_id,COUNT(1) AS emp_count,AVG(salary) AS avg_salay FROM emp GROUP BY dept_id) a
WHERE d.dept_id = a.dept_id;


SELECT * FROM v_dept_emp_count;

修改视图v_emp_dept,查询销售部门员工姓名、家庭住址、工资和部门名称。

  ALTER VIEW v_emp_dept AS 
  SELECT e.emp_name,e.address,e.salary,d.dept_name FROM dept d, emp e 
  WHERE e.dept_id = 
(SELECT dept_id FROM dept WHERE dept_name = '销售部');

  SELECT * FROM v_emp_dept;

查看视图名称;
查看视图结构;
   

DESC v_emp_dept;
    查看创建视图语句;
 

  SHOW TABLE STATUS LIKE 'v_emp_dept';

删除以上三个视图。

DROP VIEW v_emp_dept;
DROP VIEW v_emp_dept_id_1;
DROP VIEW v_dept_emp_count;

SELECT * FROM emp;
SELECT * FROM dept;

创建一个提取emp表所有员工工资和的存储过程s1

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE `db_view`.`s1`()
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN
    SELECT SUM(salary) FROM emp;

    END$$

DELIMITER ;

调用存储过程s1
CALL s1();

创建存储过程s2,实现输入员工姓名后返回员工的家庭住址。

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE `db_view`.`s2`(IN in_name VARCHAR(20))
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN
    SELECT address FROM emp WHERE emp_name = in_name;
    

    END$$

DELIMITER ;

调用存储过程s2

CALL s2('张晓红');

创建一个存储过程avg_sai,有3个参数,分别是dept,gender,接收平均工资,功能查询emp表dept_id为1,gender为男的平均工资

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE `db_view`.`avg_sai`(IN in_dept_id INT,in_gender VARCHAR(2))
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
    BEGIN
    SELECT AVG(salary)FROM
    (SELECT * FROM emp WHERE dept_id = in_dept_id) a 
    WHERE gender = in_gender;


    END$$

DELIMITER ;

调用存储过程avg_sai

CALL avg_sai(1,'男');

删除以上存储过程

DROP PROCEDURE s1;
DROP PROCEDURE s2;
DROP PROCEDURE avg_sai;

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

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

相关文章

乐财业:打造财税服务的“硬核“竞争力

乐财业 智慧财税赋能平台 乐财业是目前市面上唯一一家真正实现“业财税”"三位一体全面融合的综合赋能平台,全新打造一站式、流程化、生态化的全产品供应链,立足于企业“业财"融合的发展趋势,凭借20年的财税服务经验,站…

CoreDump使用与实现原理

一、背景 系统发生native crash时,针对内存异常访问、内存踩踏等疑难问题,由于tombstone信息量不足无法精确定位分析这类问题。 二、coredump介绍 2.1 什么是coredump 当用户程序运行过程中发生异常, 程序异常退出时, 由Linux内核把程序当前的内存状…

C语言笔记29 •单链表经典算法OJ题-1.合并两个升序链表•

1.合并两个升序链表(创建头节点 简化代码) ListNode* lowlisthead(ListNode*)malloc(sizeof(ListNode)); 新颖之处就是创建头节点(哨兵位)能够减少代码,不用每次都判断链表是否为NULL, 注意的是&#xff1a…

笔记:如何使用Microsoft.Extensions.Options

一、目的: Microsoft.Extensions.Options 是 .NET Core 中用于处理配置选项的一个库。它提供了一种强类型的方式来读取和绑定配置数据(例如来自 appsettings.json 文件、环境变量或其他配置源的数据),并将其注入到应用程序中。这个…

ss工具dump出vsock 端口号异常分析

端口冲突时,会出现bind fail异常,这时可以用ss --vsock -pl命令dump出所有listen状态的vsock,但实际发现传入的9000端口,dump出来却是10275,如下图: 难道是内核把端口改了?分析内核态源码,ss最终…

模拟器大揭秘:功能多样,热门APP一网打尽

在咱们日常的数字生活中,模拟器这个词儿你可能不陌生,但它到底能干啥?又有哪些好用的模拟器APP呢? 今天,咱们就来聊聊模拟器的功能,并推荐几款热门的模拟器APP,帮助大家更好地利用这一技术。 …

Math/System/Runtime/Object

1、Math (1)常用方法 类型方法名说明public static intabs (int a)返回整数的绝对值public static doublepow (double a,double b)计算a的b次幂的值public static int max (int a,int b) 获取两个int值中的较大值public static intmin (int a,int…

java读取配置文件(包含国家于二字码对应关系文件)

读取配置文件 1.java文件 import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.springframework.core.io.ClassPathResource;import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Map; Slf4j public class…

无障碍快捷方式图标

问题背景 测试反馈,无障碍快捷方式和setting里的无障碍图标不一致。 无障碍快捷方式悬浮窗 1、悬浮窗在systemui中 frameworks\base\packages\SystemUI\src\com\android\systemui\accessibility\floatingmenu\AccessibilityTargetAdapter.java 图标获取方式&…

数据结构笔记之连通图与强连通图

一、引言 在图论中,我们常常会遇到连通图和强连通图的概念。它们描述了图中顶点之间的连接情况,对于理解和分析复杂网络具有重要意义。 二、连通图 定义:若图G中任意两个顶点都是连通的,则称图G为连通图;否则称为非…

如何使用可道云结合内网穿透工具实现远程访问打造私人云盘

文章目录 1.前言2. Kodcloud网站搭建2.1. Kodcloud下载和安装2.2 Kodcloud网页测试 3. cpolar内网穿透的安装和注册4. 本地网页发布4.1 Cpolar云端设置4.2 Cpolar本地设置 5. 公网访问测试6.结语 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易…

【HTML入门】第十课 - 表格,也就是table标签

这一小节,我们说一下HTML中的表格。比如我们常常看见的学生成绩单,比如excel一个单元格一个单元格的,这些都是表格。 表格的标签名是 table 。 目录 1 表格中的一些子标签 1.1 表头区域 1.2 表格内容区域 1.3 行和列 2 实战一小下 2.…

Python:数学运算及导入math的应用

guess? x 3 - 1 2 * 2 ** 3 % 2 # 算术运算 # 精度高 print(5 / 3) # 保留整数 向下取整 print(5 // 3) # 取余数 print(5 % 3) # n*m 表示有m个n print(* * 3) # n**m 表示n的m次方 print(10 ** 3) # 没有自增自减 写成 x-1 x1# 运算优先级: # 括号里…

JavaWeb(一:基础知识和环境搭建)

一、基本概念 1.前言 JavaWeb:在Java中,动态web资源开发网页的技术。 web应用分两种:静态web资源和动态web资源 Ⅰ. 静态web资源(如html 页面): 指web页面中的数据始终是不变。 所有用户看到都是同一个…

【nginx】一般nginx会和目标服务部署在同一台服务器上?

Nginx与目标服务(如Web应用、API服务等)是否部署在同一台服务器上,主要取决于具体的部署策略、系统资源、安全性以及维护便捷性等多方面因素。实际上,Nginx与目标服务部署的位置关系可以有多种不同的选择: 部署在同一…

python编程实例 输出两个数之间的素数

#输出两个数之间有多少素数 import math mint(input("开始:")) nint(input("结束:")) for i in range(m,n1):for j in range(2,int(math.sqrt(i))1):if i%j0:breakif(jint(math.sqrt(i))):print(str(i),"是一个素数")

Netty服务端接收TCP链接数据

注:使用netty之前,需要先引入netty包,不同的框架,引入netty包的方式不同 1.定义NettyServer类 用于初始化netty连接 public class NettyServer {public void start() throws Exception {System.out.println("启动记载nett…

DP(2) | Java | LeetCode 62, 63, 343, 96 做题总结(96 未完)

62.不同路径 我的代码(报错) 写的过程中感到很迷惑的点:①二维数组和这道题目的对应弄不清除,m n的初始化 是 dp[m][n] 还是 dp[n][m] ② class Solution {public int uniquePaths(int m, int n) {int[][]dp new int[m1][n1];d…

Spring开发实践(六)

EnableConfigurationProperties注解的用法 EnableConfigurationProperties 是 Spring Boot 中的一个注解,用于启用对 ConfigurationProperties 注解的支持。它通常用于将配置属性绑定到一个 Java Bean 上。以下是它的用法和示例: 1. 创建配置属性类 首…

单目3D和bev综述

文章目录 SOTA2D 检测单目3d检测单目bev,一般是多目,小鹅通3d bev cam范式Transformer attention is all you need 2017ViT vision transformer ICLR 2021googleDETR 2020DETR3D 2021PETR 2022bevformerLSSbevdetcaddn指标 mAP NDS标注:基于点…