利用所学知识,设计一个教学管理库,要求:1、建立教学管理库
2、建立多个表,表间建立关联
3、实现查询功能:
①查询出学生表中计算机网络专业学生的学号、姓名、性别的信息。
②查询出学生表中男同学且为团员的学生信息。
③查询出课程表中专业课且在c502上课的课程信息。
创建一视图V_1,查询出基础类课程的信息。
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
sql基础问题,求解答
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注
让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题: 设计一个教学管理库,要求能够建立多个表,并且表之间能够建立关联。实现以下查询功能:- 查询学生表中计算机网络专业的学生的学号、姓名和性别。
- 查询学生表中男同学且为团员的学生信息。
- 查询课程表中在c502教室上课的专业课程信息。
- 创建一个名为V_1的视图,查询基础类课程的信息。 解答: 首先,我们需要创建教学管理库,并建立多个表来存储学生信息和课程信息。在这里,我们可以创建两个表:学生表(Students)和课程表(Courses)。
- 创建学生表(Students):
CREATE TABLE Students ( student_id INT PRIMARY KEY, student_name VARCHAR(50), major VARCHAR(50), gender CHAR(1), party_member BOOLEAN );
- 创建课程表(Courses):
CREATE TABLE Courses ( course_id INT PRIMARY KEY, course_name VARCHAR(50), classroom VARCHAR(50), course_type VARCHAR(50) );
- 建立表间关联: 为了能够实现查询功能,我们需要在表之间建立关联。我们可以使用外键来实现关联关系。在这里,我们将学生表的major字段和课程表的course_type字段进行关联。 在学生表(Students)中添加外键:
ALTER TABLE Students ADD FOREIGN KEY (major) REFERENCES Courses(course_type);
- 实现查询功能: ① 查询出学生表中计算机网络专业学生的学号、姓名、性别的信息:
SELECT student_id, student_name, gender FROM Students WHERE major = '计算机网络';
例子: 假设学生表(Students)中有以下数据:
+------------+--------------+----------------+--------+-------------+ | student_id | student_name | major | gender | party_member | +------------+--------------+----------------+--------+-------------+ | 1 | 张三 | 计算机网络 | 男 | true | | 2 | 李四 | 计算机科学 | 女 | false | | 3 | 王五 | 电子工程 | 男 | true | +------------+--------------+----------------+--------+-------------+
运行查询语句后,将得到以下结果:
+------------+--------------+--------+ | student_id | student_name | gender | +------------+--------------+--------+ | 1 | 张三 | 男 | +------------+--------------+--------+
② 查询出学生表中男同学且为团员的学生信息:
SELECT * FROM Students WHERE gender = '男' AND party_member = true;
例子: 继续使用上述学生表中的数据,再添加以下数据:
+------------+--------------+----------------+--------+-------------+ | student_id | student_name | major | gender | party_member | +------------+--------------+----------------+--------+-------------+ | 4 | 赵六 | 计算机网络 | 男 | true | | 5 | 杨七 | 计算机科学 | 女 | true | +------------+--------------+----------------+--------+-------------+
运行查询语句后,将得到以下结果:
+------------+--------------+----------------+--------+-------------+ | student_id | student_name | major | gender | party_member | +------------+--------------+----------------+--------+-------------+ | 1 | 张三 | 计算机网络 | 男 | true | | 4 | 赵六 | 计算机网络 | 男 | true | +------------+--------------+----------------+--------+-------------+
③ 查询出课程表中专业课且在c502上课的课程信息:
SELECT * FROM Courses WHERE course_type = '专业课' AND classroom = 'c502';
例子: 假设课程表(Courses)中有以下数据:
+------------+--------------+-----------+--------------+ | course_id | course_name | classroom | course_type | +------------+--------------+-----------+--------------+ | 1 | 数据结构 | c502 | 专业课 | | 2 | 离散数学 | c501 | 基础课 | | 3 | 计算机网络 | c502 | 专业课 | +------------+--------------+-----------+--------------+
运行查询语句后,将得到以下结果:
+------------+--------------+-----------+--------------+ | course_id | course_name | classroom | course_type | +------------+--------------+-----------+--------------+ | 1 | 数据结构 | c502 | 专业课 | | 3 | 计算机网络 | c502 | 专业课 | +------------+--------------+-----------+--------------+
- 创建视图V_1查询基础类课程的信息:
CREATE VIEW V_1 AS SELECT * FROM Courses WHERE course_type = '基础课';
例子: 假设视图V_1中的查询结果如下:
+------------+--------------+-----------+--------------+ | course_id | course_name | classroom | course_type | +------------+--------------+-----------+--------------+ | 2 | 离散数学 | c501 | 基础课 | | 5 | 高等数学 | c503 | 基础课 | +------------+--------------+-----------+--------------+
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Matlab安装yalmip和cplex功能安装失败
- ¥15 加装宝马安卓中控改变开机画面
- ¥15 STK安装问题问问大家,这种情况应该怎么办
- ¥15 更换了一个新的win10系统,再下载VS时碰到的问题,是C++组件的?
- ¥15 关于罗技鼠标宏lua文件的问题
- ¥15 halcon ocr mlp 识别问题
- ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
- ¥20 无法创建新的堆栈防护界面
- ¥15 sessionStorage在vue中的用法
- ¥15 wordpress更换域名后用户图片头像不显示