mysql 视图索引以及存储过程

第一题:
学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course (Cno, Cname,)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。


2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。


3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。


4.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

第二题
1、创建一个存储过程avg_sal_a,有2个参数,分别是部门名称dept_name及接收平均工资,
其中部门名称测试参数为上海中心,接收平均薪资变量为@a。

DELIMITER //

CREATE PROCEDURE avg_sal_a(
    IN dept_no VARCHAR(20),
    OUT avg_sal DECIMAL(10, 2)
)
BEGIN
    -- 计算指定部门的平均工资
    SELECT AVG(salary) INTO avg_sal
    FROM employee
    WHERE department_NO = dept_no;
END //


2、创建存储过程,给定参数员工姓名,查询该员工名所在部门的最高薪资,并返回给变量@a;

DELIMITER //

CREATE PROCEDURE get_dept_max_sal(
    IN emp_name VARCHAR(50),
    OUT max_sal DECIMAL(10, 2)
)
BEGIN
    
    SELECT MAX(salary) INTO max_sal
    FROM employee
    WHERE department_NO = (
        SELECT department_NO
        FROM employee
        WHERE name = emp_name
    );
END //

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值