数据库作业6

视图作业
1. 创建视图v_emp_dept_id_1

 

CREATE VIEW v_emp_dept_id_1 AS
SELECT emp_name, address
FROM emp
WHERE dept_id = (SELECT dept_id FROM dept WHERE dept_name = '销售部');


2. 创建视图v_emp_dept
 

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 d.dept_name = '销售部';


3. 创建视图v_dept_emp_count
 

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. 修改视图v_emp_dept
 

ALTER VIEW v_emp_dept AS
SELECT e.emp_name, e.address, e.salary, d.dept_name
FROM emp e
JOIN dept d ON e.dept_id = d.dept_id
WHERE d.dept_name = '销售部';


5. 查看视图
查看视图名称:

SHOW FULL TABLES WHERE TABLE_TYPE LIKE 'VIEW';


查看视图结构:

DESCRIBE v_emp_dept_id_1;
DESCRIBE v_emp_dept;
DESCRIBE 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 IF EXISTS v_emp_dept_id_1, v_emp_dept, v_dept_emp_count;


存储过程作业
1. 创建存储过程s1

 

DELIMITER //
CREATE PROCEDURE s1()
BEGIN
  SELECT SUM(salary) AS total_salary FROM emp;
END //
DELIMITER ;


2. 调用存储过程s1
 

CALL s1();


3. 创建存储过程s2
 

DELIMITER //
CREATE PROCEDURE s2(IN emp_name CHAR(20), OUT address VARCHAR(200))
BEGIN
  SELECT address INTO address FROM emp WHERE emp_name = emp_name;
END //
DELIMITER ;


4. 调用存储过程s2
 

CALL s2('张晓红', @address);
SELECT @address;


5. 创建存储过程avg_sai
 

DELIMITER //
CREATE PROCEDURE avg_sai(IN dept_id INT, IN gender CHAR(2), OUT avg_salary DECIMAL(10,2))
BEGIN
  SELECT AVG(salary) INTO avg_salary FROM emp WHERE dept_id = dept_id AND gender = gender;
END //
DELIMITER ;


6. 调用存储过程avg_sai
 

CALL avg_sai(1, '男', @avg_salary);
SELECT @avg_salary;


7. 删除存储过程
 

DROP PROCEDURE IF EXISTS s1, s2, avg_sai;


 

相关推荐

  1. 数据库作业6

    2024-07-16 06:32:03       30 阅读
  2. <span style='color:red;'>作业</span><span style='color:red;'>6</span>.<span style='color:red;'>6</span>

    作业6.6

    2024-07-16 06:32:03      29 阅读
  3. 作业2024/2/6

    2024-07-16 06:32:03       41 阅读
  4. 2.6作业

    2024-07-16 06:32:03       43 阅读
  5. <span style='color:red;'>作业</span>2.<span style='color:red;'>6</span>

    作业2.6

    2024-07-16 06:32:03      40 阅读
  6. 2.6 作业

    2024-07-16 06:32:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 06:32:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 06:32:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 06:32:03       58 阅读
  4. Python语言-面向对象

    2024-07-16 06:32:03       69 阅读

热门阅读

  1. HTTP——POST请求详情

    2024-07-16 06:32:03       23 阅读
  2. [计网初识2]web的3个核心标准html,url,http

    2024-07-16 06:32:03       27 阅读
  3. 微服务边界守卫:Eureka中服务隔离策略的实现

    2024-07-16 06:32:03       21 阅读
  4. 仓工具—Hive语法之宏(Macro)

    2024-07-16 06:32:03       22 阅读
  5. 016.自定义指纹chromium-随机tls指纹(ja4指纹)

    2024-07-16 06:32:03       25 阅读
  6. PHP基础语法

    2024-07-16 06:32:03       22 阅读
  7. 向量数据量milvus k8s helm 对接外部安装部署流程

    2024-07-16 06:32:03       16 阅读