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;
相关推荐
啦啦啦~~~7544 分钟前
【最新版】Edge浏览器安装!绿色增强版+禁止Edge更新的软件+彻底卸载Edge软件
数据库·阿里云·电脑·.net·edge浏览器
程序边界9 分钟前
金仓数据库助力Oracle迁移:一场国产数据库的逆袭之旅
数据库·oracle
为什么不问问神奇的海螺呢丶11 分钟前
oracle RAC开关机步骤
数据库·oracle
后端小张12 分钟前
【Java 进阶】深入理解Redis:从基础应用到进阶实践全解析
java·开发语言·数据库·spring boot·redis·spring·缓存
TDengine (老段)15 分钟前
TDengine IDMP 1.0.9.0 上线:数据建模、分析运行与可视化能力更新一览
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
云老大TG:@yunlaoda36021 分钟前
如何使用华为云国际站代理商的BRS进行数据安全保障?
大数据·数据库·华为云·云计算
工具人555525 分钟前
strip()方法可以删除字符串中间空格吗
数据库·mysql
松涛和鸣29 分钟前
35、Linux IPC进阶:信号与System V共享内存
linux·运维·服务器·数据库·算法·list
xinyu_Jina37 分钟前
局域网文件传输:P2P应用层协议——元数据握手与数据通道的生命周期管理
数据库·asp.net·p2p
一枚正在学习的小白1 小时前
prometheus监控mysql服务
linux·运维·mysql·prometheus