鸟羽刹那吧 关注:3贴子:99

回复:建立个水楼

取消只看楼主收藏回复

1


IP属地:江苏来自Android客户端84楼2025-03-31 10:21
回复
    CREATE DATABASE S_C_SC;
    USE S_C_SC;


    IP属地:江苏来自Android客户端85楼2025-03-31 14:20
    回复
      2026-02-10 10:50:07
      广告
      不感兴趣
      开通SVIP免广告
      根据你的要求,我将帮助你创建一个名为 `S_C_SC` 的数据库,并在其中创建三个表:`Student`、`Course` 和 `SC`。以下是创建这些表的 SQL 代码:
      ### 创建数据库
      ```sql
      CREATE DATABASE S_C_SC;
      USE S_C_SC;
      ```
      ### 创建 `Student` 表
      ```sql
      CREATE TABLE Student (
      Sno CHAR(10) PRIMARY KEY,
      Sname VARCHAR(50),
      Ssex CHAR(1),
      Sage INT,
      Sdept VARCHAR(50)
      );
      ```
      ### 创建 `Course` 表
      ```sql
      CREATE TABLE Course (
      Cno CHAR(10) PRIMARY KEY,
      Cname VARCHAR(50),
      Cpno CHAR(10),
      Ccredit INT
      );
      ```
      ### 创建 `SC` 表
      ```sql
      CREATE TABLE SC (
      Sno CHAR(10),
      Cno CHAR(10),
      Grade INT,
      PRIMARY KEY (Sno, Cno),
      FOREIGN KEY (Sno) REFERENCES Student(Sno),
      FOREIGN KEY (Cno) REFERENCES Course(Cno)
      );
      ```
      ### 插入数据
      #### 插入 `Student` 表数据
      ```sql
      INSERT INTO Student (Sno, Sname, Ssex, Sage, Sdept) VALUES
      ('201215121', '李勇', '男', 20, 'CS'),
      ('201215122', '刘晨', '女', 19, 'CS'),
      ('201215123', '王敏', '女', 18, 'MA'),
      ('201215125', '张立', '男', 19, 'IS');
      ```
      #### 插入 `Course` 表数据
      ```sql
      INSERT INTO Course (Cno, Cname, Cpno, Ccredit) VALUES
      ('1', '数据库', '5', 4),
      ('2', '数学', NULL, 2),
      ('3', '信息系统', '1', 4),
      ('4', '操作系统', '6', 3),
      ('5', '数据结构', '7', 4),
      ('6', '数据处理', NULL, 2),
      ('7', 'PASCAL语言', '6', 4);
      ```
      #### 插入 `SC` 表数据
      ```sql
      INSERT INTO SC (Sno, Cno, Grade) VALUES
      ('201215121', '1', 92),
      ('201215121', '2', 85),
      ('201215121', '3', 88),
      ('201215122', '2', 90),
      ('201215122', '3', 80);
      ```
      ### 查询 `CS` 系所有学生的姓名和年龄
      ```sql
      SELECT Sname, Sage FROM Student WHERE Sdept = 'CS';
      ```
      你可以将这些 SQL 语句复制到 MySQL 客户端中执行,以创建数据库和表,并插入数据。


      IP属地:江苏来自Android客户端86楼2025-03-31 14:20
      回复
        根据您的要求,以下是针对每个查询任务的 SQL 语句:
        ### (1)查询 'CS' 系所有学生的姓名和年龄
        ```sql
        SELECT Sname, Sage ;
        FROM Student
        WHERE Sdept = 'CS';
        ```
        ### (2)查询所有选修“信息系统”课程的学生姓名及其成绩,并按成绩降序排列
        ```sql
        SELECT s.Sname, sc. Grade
        FROM Student s
        JOIN SC sc ON s. Sno = sc. Sno
        JOIN Course c ON sc. Cno = c. Cno
        WHERE c. Cname = '信息系统'
        ORDER BY sc. Grade DESC;
        ```
        ### (3)查询没有选修课程的女学生学号和姓名
        ```sql
        SELECT Sno, Sname
        FROM Student
        WHERE Ssex = '女' AND Sno NOT IN (SELECT Sno FROM SC);
        ```
        ### (4)按学号统计每位同学选修的课程门数
        #### a. 仅显示选修课程门数超过2门的信息;
        #### b. 显示SNO、Sname 和相应的课程门数;
        #### c. 显示时,查询结果按课程门数降序排列,课程门数相同按SNO升序排列。
        ```sql
        SELECT s. Sno, s. Sname, COUNT(sc. Cno) AS CourseCount
        FROM Student s
        LEFT JOIN SC sc ON s. Sno = sc. Sno
        GROUP BY s. Sno, s. Sname
        HAVING COUNT(sc. Cno) > 2
        ORDER BY CourseCount DESC, s. Sno ASC;
        ```
        ### (5)查询平均成绩排名第2名的学生的学号、姓名和平均成绩
        ```sql
        SELECT s. Sno, s. Sname, AVG(sc. Grade) AS AverageGrade
        FROM Student s
        JOIN SC sc ON s. Sno = sc. Sno
        GROUP BY s. Sno, s. Sname
        ORDER BY AverageGrade DESC
        LIMIT 1 OFFSET 1;
        ```
        请在 MySQL 数据库中执行上述 SQL 语句,并将输出结果截图。如果有任何问题或需要进一步的帮助,请随时告诉我!


        IP属地:江苏来自Android客户端87楼2025-03-31 15:04
        回复
          1


          IP属地:江苏来自Android客户端88楼2025-04-24 10:31
          回复
            1


            IP属地:江苏来自Android客户端89楼2025-05-19 13:16
            回复
              1


              IP属地:江苏来自Android客户端90楼2025-06-12 10:22
              回复
                1


                IP属地:江苏来自Android客户端91楼2025-07-06 12:16
                回复
                  2026-02-10 10:44:07
                  广告
                  不感兴趣
                  开通SVIP免广告
                  1


                  IP属地:江苏来自Android客户端92楼2025-07-26 12:03
                  回复
                    1


                    IP属地:江苏来自Android客户端93楼2025-08-19 11:27
                    回复
                      1


                      IP属地:江苏来自Android客户端94楼2025-09-12 10:11
                      回复
                        1


                        IP属地:江苏来自Android客户端97楼2025-10-17 15:21
                        回复
                          1


                          IP属地:江苏来自Android客户端98楼2025-11-10 11:09
                          回复
                            1


                            IP属地:江苏来自Android客户端99楼2025-12-04 10:06
                            回复
                              2026-02-10 10:38:07
                              广告
                              不感兴趣
                              开通SVIP免广告
                              1


                              IP属地:江苏来自Android客户端100楼2025-12-28 10:42
                              回复