使用存储过程或存储函数实现以下题目:1.查询北京大学所有信息(学校代码,学校名称,学校类型名称,办学层次名称,办学类型名称,专业名称吗,批次);
时间: 2023-12-10 14:02:20 浏览: 91
用文件存储10个学生的姓名、学号、手机号、地址,可通过姓名或者学号查找
5星 · 资源好评率100%
以下是一个使用存储过程实现该查询的示例。假设有七个表:School、SchoolType、SchoolLevel、SchoolCategory、Department、Major和Batch,其中School表、SchoolType表、SchoolLevel表和SchoolCategory表分别存储学校、学校类型、办学层次和办学类型的信息;Department表存储学院的信息;Major表存储专业的信息;Batch表存储招生批次的信息。SchoolInfo表存储学校信息、学校类型信息、办学层次信息、办学类型信息、学院信息、专业信息和招生批次信息的关联信息。
```sql
-- 创建存储过程
CREATE PROCEDURE get_pku_info()
BEGIN
SELECT
s.code AS school_code,
s.name AS school_name,
st.name AS school_type_name,
sl.name AS school_level_name,
sc.name AS school_category_name,
d.name AS department_name,
m.name AS major_name,
b.name AS batch_name
FROM
School s
JOIN SchoolInfo si ON s.id = si.school_id
JOIN SchoolType st ON si.type_id = st.id
JOIN SchoolLevel sl ON si.level_id = sl.id
JOIN SchoolCategory sc ON si.category_id = sc.id
JOIN Department d ON si.department_id = d.id
JOIN Major m ON si.major_id = m.id
JOIN Batch b ON si.batch_id = b.id
WHERE
s.name = '北京大学';
END;
```
调用该存储过程可以得到北京大学的所有信息:
```sql
CALL get_pku_info();
```
注意,上述示例是基于假设的表结构进行的,实际情况中需要根据具体的表结构进行调整。
阅读全文