MySQL之视图,存储

复制代码
1.
CREATE VIEW v_emp_dept_id_1 AS
SELECT e.emp_name, e.address
FROM emp e
JOIN dept d ON e.dept_id = d.dept_id
WHERE e.dept_id = 1;
复制代码
2.
CREATE VIEW v_emp_dept AS
SELECT e.emp_name, e.address, d.dept_name
FROM emp  e 
JOIN dept d ON e.dept_id = d.dept_id
WHERE e.dept_id = 1;
复制代码
3.
CREATE VIEW v_dept_emp_count AS
SELECT d.dept_name, COUNT(e.emp_id) AS emp_count, AVG(e.salary) AS avg_salary
FROM dept d
LEFT JOIN emp e ON d.dept_id = e.dept_id
GROUP BY d.dept_id;
复制代码
4.
ALTER VIEW v_emp_dept AS 
SELECT e.emp_name, e.address,d.dept_name,e.salary
FROM emp e  
JOIN dept d ON e.dept_id = d.dept_id
WHERE e.dept_id = 1;
复制代码
5.
SHOW TABLES LIKE 'v_emp_dept_id_1';
SHOW TABLES LIKE 'v_emp_dept';
SHOW TABLES LIKE 'v_dept_emp_count';
复制代码
6.
SHOW CREATE VIEW v_emp_dept_id_1;
SHOW CREATE VIEW v_emp_dept;
SHOW CREATE VIEW v_dept_emp_count;
复制代码
7.
DROP VIEW IF EXISTS v_emp_dept_id_1;
DROP VIEW IF EXISTS v_emp_dept;
DROP VIEW IF EXISTS v_dept_emp_count;


DELIMITER //
CREATE PROCEDURE s1()
BEGIN
  SELECT SUM(salary) as total_salary FROM emp;
END; //
DELIMITER ;
复制代码
CALL s1();

DELIMITER //
CREATE PROCEDURE s2(IN emp_name_param VARCHAR(255))
BEGIN
  SELECT address FROM emp WHERE emp_name = emp_name_param;
END; //
DELIMITER ;
复制代码
CALL s2('张晓红');

DELIMITER //
CREATE PROCEDURE avg_sai(IN dept_id_param INT, IN gender_param CHAR(1), OUT avg_salary_param DECIMAL(10, 2))
BEGIN
  SELECT AVG(salary) INTO avg_salary_param FROM your_employee_table
  WHERE dept_id = dept_id_param AND gender = gender_param;
END; //
DELIMITER ;
复制代码
DECLARE @avg_salary DECIMAL(10, 2);
CALL avg_sai(1, '男', @avg_salary);
SELECT @avg_salary;

DROP PROCEDURE IF EXISTS s1;
DROP PROCEDURE IF EXISTS s2;
DROP PROCEDURE IF EXISTS avg_sai;
相关推荐
JAVA面经实录9171 小时前
Hibernate面试题库
数据库·oracle·hibernate
2301_773643621 小时前
华为云存储实验
网络·mysql·华为云
迷枫7121 小时前
DM8 目录结构与常用排查入口梳理
服务器·数据库
Mr.Daozhi2 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具
小程故事多_803 小时前
Claude Code自定义workflow skills用法
数据库·人工智能·智能体
大鹏说大话3 小时前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
quan26313 小时前
20260529,日常开发-数据库主从问题
java·mysql·主从·延迟
夏贰四3 小时前
数据建模工具如何筑牢数据根基?数据建模工具怎样落实标准体系?
数据库·数学建模·数据建模工具
程序猿阿伟4 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
二等饼干~za8986685 小时前
geo优化源码开发搭建技术分享
大数据·网络·数据库·人工智能·音视频