• MySQL之视图,存储


     

    1. 1.
    2. CREATE VIEW v_emp_dept_id_1 AS
    3. SELECT e.emp_name, e.address
    4. FROM emp e
    5. JOIN dept d ON e.dept_id = d.dept_id
    6. WHERE e.dept_id = 1;

    1. 2.
    2. CREATE VIEW v_emp_dept AS
    3. SELECT e.emp_name, e.address, d.dept_name
    4. FROM emp e
    5. JOIN dept d ON e.dept_id = d.dept_id
    6. WHERE e.dept_id = 1;

    1. 3.
    2. CREATE VIEW v_dept_emp_count AS
    3. SELECT d.dept_name, COUNT(e.emp_id) AS emp_count, AVG(e.salary) AS avg_salary
    4. FROM dept d
    5. LEFT JOIN emp e ON d.dept_id = e.dept_id
    6. GROUP BY d.dept_id;

    1. 4.
    2. ALTER VIEW v_emp_dept AS
    3. SELECT e.emp_name, e.address,d.dept_name,e.salary
    4. FROM emp e
    5. JOIN dept d ON e.dept_id = d.dept_id
    6. WHERE e.dept_id = 1;

     

    1. 5.
    2. SHOW TABLES LIKE 'v_emp_dept_id_1';
    3. SHOW TABLES LIKE 'v_emp_dept';
    4. SHOW TABLES LIKE 'v_dept_emp_count';

    1. 6.
    2. SHOW CREATE VIEW v_emp_dept_id_1;
    3. SHOW CREATE VIEW v_emp_dept;
    4. SHOW CREATE VIEW v_dept_emp_count;

    1. 7.
    2. DROP VIEW IF EXISTS v_emp_dept_id_1;
    3. DROP VIEW IF EXISTS v_emp_dept;
    4. DROP VIEW IF EXISTS v_dept_emp_count;
    1. DELIMITER //
    2. CREATE PROCEDURE s1()
    3. BEGIN
    4. SELECT SUM(salary) as total_salary FROM emp;
    5. END; //
    6. DELIMITER ;

    CALL s1();
    1. DELIMITER //
    2. CREATE PROCEDURE s2(IN emp_name_param VARCHAR(255))
    3. BEGIN
    4. SELECT address FROM emp WHERE emp_name = emp_name_param;
    5. END; //
    6. DELIMITER ;

    CALL s2('张晓红');
    1. DELIMITER //
    2. CREATE PROCEDURE avg_sai(IN dept_id_param INT, IN gender_param CHAR(1), OUT avg_salary_param DECIMAL(10, 2))
    3. BEGIN
    4. SELECT AVG(salary) INTO avg_salary_param FROM your_employee_table
    5. WHERE dept_id = dept_id_param AND gender = gender_param;
    6. END; //
    7. DELIMITER ;

    1. DECLARE @avg_salary DECIMAL(10, 2);
    2. CALL avg_sai(1, '男', @avg_salary);
    3. SELECT @avg_salary;
    1. DROP PROCEDURE IF EXISTS s1;
    2. DROP PROCEDURE IF EXISTS s2;
    3. DROP PROCEDURE IF EXISTS avg_sai;

  • 相关阅读:
    node.js - http、模块化、npm
    2. 特征工程
    抖音实战~分享模块~复制短视频链接
    SpringBoot的原理-初探
    中国石油大学(北京)-《 油气藏经营管理》第一阶段在线作业
    最新MySql安装教学,非常详细
    Java前后端交互的一些细节
    动漫制作技巧如何制作动漫视频
    再次安装torch踩过的坑
    [100天算法】-定长子串中元音的最大数目(day 67)
  • 原文地址:https://blog.csdn.net/callmehansea/article/details/140364709