mysql代码小练-3

第一题:

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)

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

sql 复制代码
create table student (sno char (10) primary key,sname varchar (20) not null unique,ssex char (2) check (ssex in (' 男 ', ' 女 ')),sage int,sdept varchar (30) default ' 计算机 ');

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

sql 复制代码
alter table student modify column sage smallint;

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

sql 复制代码
create table sc (sno char(10),cno char(4),score decimal(5,1),primary key (sno, cno));

create unique index sc_index on sc (sno asc, cno asc);

create table course(cons char(4) primary key, cname varchar(255) not null);

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

sql 复制代码
create view stu_info as
     select
         s.sname as 姓名,
         s.ssex as 性别,
         c.cname as 课程名,
         sc.score as 成绩
     from student s
     left join sc sc on s.sno = sc.sno
     left join course c on sc.cno = c.cons;

第二题

1、创建一个存储过程avg_sal_a,有2个参数,分别是部门名称dept_name及接收平均工资,

sql 复制代码
 create procedure avg_sal_a(
     in dept_name varchar(255),
     out a decimal(10,2))
     begin
     select avg(e.salary) into a from employee e
     join department d on e.department_no = d.number
     where d.name = dept_name;
     end $

其中部门名称测试参数为上海中心,接收平均薪资变量为@a。
2、创建存储过程,给定参数员工姓名,查询该员工名所在部门的最高薪资,并返回给变量@a;

sql 复制代码
    
set @a = 0$


 call get_dept_max_sal('吴所为', @a);


select @a as 部门最高薪资$
相关推荐
电魂泡哥2 小时前
SQL出现filesort 一定慢吗
数据库·sql
muddjsv4 小时前
大中小型企业数据层配置规模分析与选型指南
数据库
Runawayliquor4 小时前
opbase:CANN 所有算子的公共地基
大数据·数据库·人工智能·算法
yangshicong5 小时前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
数据库·人工智能·redis·python·langchain·ai编程
chimchim665 小时前
pg dblink使用查询
数据库
Java面试题总结5 小时前
java高频面试题(2026最新)
java·开发语言·jvm·数据库·spring·缓存
绝知此事6 小时前
【算法突围 02】树形结构与数据库索引:树形结构与数据库索引:从 BST 到 B+ 树的演化与 MySQL 优化
数据库·mysql·算法·面试·b+树
吴可可1237 小时前
用Teigha修改并保存CAD文件
数据库·算法·c#
yuzhiboyouye8 小时前
内连接,左连接,右连接怎么区别开来?
数据库
铭毅天下8 小时前
Easysearch 版本进化全图——从 ES 国产替代到 AI Native 搜索数据库
大数据·数据库·人工智能·elasticsearch·搜索引擎