第六次作业

一、视图作业

复制代码
1、CREATE VIEW v_emp_dept_id__1
	AS
	SELECT emp_name,address FROM emp;
2、CREATE VIEW v_emp_dept
	AS
	SELECT emp_name,address,dept_name FROM emp e,dept d
	WHERE e.dept_id=d.dept_id
	AND dept_name='销售部';
3、CREATE VIEW v_dept_emp_count(dept_name,emp_count,avg_salay)
	AS
	SELECT COUNT(emp_id),AVG(salary),dept_name FROM emp e,dept d
	WHERE e.dept_id=d.dept_id
	GROUP BY dept_name;
4、ALTER VIEW v_emp_dept
	AS 
	SELECT emp_name,address,salary,dept_name FROM emp e,dept d
	WHERE e.dept_id=d.dept_id
5、SHOW FULL TABLES;
   DESC v_emp_dept_id__1;
   DESC v_emp_dept;
   DESC v_dept_emp_count;
   SHOW CREATE VIEW v_emp_dept_id__1;
   SHOW CREATE VIEW v_emp_dept;
   SHOW CREATE VIEW v_dept_emp_count;
6、DROP VIEW v_emp_dept_id__1,v_emp_dept,v_dept_emp_count;

二、存储过程作业

复制代码
1、DELIMITER $$
CREATE
    PROCEDURE `nmx`.`s1`()
    BEGIN
	SELECT SUM(salary) FROM emp;
    END$$
DELIMITER ;
2、call s1();
3、DELIMITER $$
CREATE
    PROCEDURE `nmx`.`s2`(IN e_name CHAR(20))
    BEGIN
	SELECT address FROM emp WHERE emp_name=e_name;
    END$$
DELIMITER ;
4、CALL s2('刘云飞');
5、DELIMITER $$
CREATE
    PROCEDURE `nmx`.`avg_sai`(IN d INT,IN g CHAR(2),OUT out_salary INT )
    BEGIN
	SELECT AVG(salary) INTO out_salary FROM emp WHERE dept_id=d AND gender=g;
    END$$
DELIMITER ;
6、CALL avg_sai(1,'男',@out_salary);
   SELECT @out_salary;
7、DROP PROCEDURE `nmx`.`s1`;
  DROP PROCEDURE `nmx`.`s2`;
  DROP PROCEDURE `nmx`.`avg_sai`;
相关推荐
学编程的小程22 分钟前
突破局域网限制:MongoDB远程管理新体验
数据库·mongodb
鸿乃江边鸟26 分钟前
向量化和列式存储
大数据·sql·向量化
波波烤鸭30 分钟前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
l1t4 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
MarkHard1239 小时前
如何利用redis使用一个滑动窗口限流
数据库·redis·缓存
island131410 小时前
【Redis#10】渐进式遍历 | 数据库管理 | redis_cli | RES
数据库·redis·bootstrap
心想事成的幸运大王10 小时前
Redis的过期策略
数据库·redis·缓存
倔强的石头_10 小时前
CentOS 上安装KingbaseES(ISO包)详细教程
数据库
2401_8979300611 小时前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j
诗句藏于尽头11 小时前
Django模型与数据库表映射的两种方式
数据库·python·django