第六次作业

一、视图作业

复制代码
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`;
相关推荐
fen_fen2 小时前
Oracle建表语句示例
数据库·oracle
砚边数影3 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
orange_tt3 小时前
Djiango配置Celery
数据库·sqlite
云小逸4 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
·云扬·4 小时前
MySQL Binlog落盘机制深度解析:性能与安全性的平衡艺术
android·mysql·adb
肉包_5114 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
霖霖总总5 小时前
[小技巧64]深入解析 MySQL InnoDB 的 Checkpoint 机制:原理、类型与调优
数据库·mysql
此刻你6 小时前
常用的 SQL 语句
数据库·sql·oracle
それども6 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
·云扬·6 小时前
MySQL Binlog 配置指南与核心作用解析
数据库·mysql·adb