Zovl64 2024-07-05 00:35 采纳率: 55.6%
浏览 20

sql基础问题,求解答

利用所学知识,设计一个教学管理库,要求:1、建立教学管理库
2、建立多个表,表间建立关联
3、实现查询功能:
①查询出学生表中计算机网络专业学生的学号、姓名、性别的信息。
②查询出学生表中男同学且为团员的学生信息。
③查询出课程表中专业课且在c502上课的课程信息。
创建一视图V_1,查询出基础类课程的信息。

img

img

img

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-05 08:57
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题: 设计一个教学管理库,要求能够建立多个表,并且表之间能够建立关联。实现以下查询功能:
    1. 查询学生表中计算机网络专业的学生的学号、姓名和性别。
    2. 查询学生表中男同学且为团员的学生信息。
    3. 查询课程表中在c502教室上课的专业课程信息。
    4. 创建一个名为V_1的视图,查询基础类课程的信息。 解答: 首先,我们需要创建教学管理库,并建立多个表来存储学生信息和课程信息。在这里,我们可以创建两个表:学生表(Students)和课程表(Courses)。
    5. 创建学生表(Students):
    CREATE TABLE Students (
        student_id INT PRIMARY KEY,
        student_name VARCHAR(50),
        major VARCHAR(50),
        gender CHAR(1),
        party_member BOOLEAN
    );
    
    1. 创建课程表(Courses):
    CREATE TABLE Courses (
        course_id INT PRIMARY KEY,
        course_name VARCHAR(50),
        classroom VARCHAR(50),
        course_type VARCHAR(50)
    );
    
    1. 建立表间关联: 为了能够实现查询功能,我们需要在表之间建立关联。我们可以使用外键来实现关联关系。在这里,我们将学生表的major字段和课程表的course_type字段进行关联。 在学生表(Students)中添加外键:
    ALTER TABLE Students
    ADD FOREIGN KEY (major) REFERENCES Courses(course_type);
    
    1. 实现查询功能: ① 查询出学生表中计算机网络专业学生的学号、姓名、性别的信息:
    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      | 专业课       |
    +------------+--------------+-----------+--------------+
    
    1. 创建视图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      | 基础课       |
    +------------+--------------+-----------+--------------+
    
    评论

报告相同问题?

问题事件

  • 创建了问题 7月5日

悬赏问题

  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 更换了一个新的win10系统,再下载VS时碰到的问题,是C++组件的?
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • ¥20 无法创建新的堆栈防护界面
  • ¥15 sessionStorage在vue中的用法
  • ¥15 wordpress更换域名后用户图片头像不显示