📅  最后修改于: 2023-12-03 15:18:09.950000             🧑  作者: Mango
本文将介绍Oracle面试中的一道题目,题目涉及校园内应用开发。在面试过程中,掌握相关知识对应聘者来说是非常重要的。以下是对这道题目的介绍和解答。
在校园内,有很多应用程序在帮助学生管理各种信息。现在我们要设计一个学生信息管理系统,其中包含学生的基本信息(如姓名、年龄、性别等),课程成绩(如数学、英语、计算机等)和考勤记录(如出勤次数、缺勤次数等)。
请设计一个数据库表结构来存储上述信息,并给出相应的SQL语句完成以下操作:
根据题目描述,我们需要设计以下三个表来存储信息:
学生信息表:
| Column Name | Data Type | Constraint | |-------------|----------|--------------| | id | NUMBER | Primary Key | | name | VARCHAR2 | Not Null | | age | NUMBER | | | gender | VARCHAR2 | |
课程成绩表:
| Column Name | Data Type | Constraint | |-------------|----------|-------------------| | id | NUMBER | Foreign Key (id) | | course | VARCHAR2 | Not Null | | grade | NUMBER | |
考勤记录表:
| Column Name | Data Type | Constraint | |-------------|----------|-------------------| | id | NUMBER | Foreign Key (id) | | attendance | NUMBER | | | absence | NUMBER | |
INSERT INTO student_info (id, name, age, gender)
VALUES (1, '张三', 20, '男');
UPDATE course_grade
SET grade = 90
WHERE id = 1
AND course = '数学';
SELECT si.id, si.name, si.age, si.gender, cg.course, cg.grade
FROM student_info si
INNER JOIN course_grade cg ON si.id = cg.id
WHERE si.id = 1;
SELECT si.id, si.name, si.age, si.gender, ar.attendance, ar.absence
FROM student_info si
INNER JOIN attendance_record ar ON si.id = ar.id
WHERE si.id = 1;
以上是对这道题目的介绍和解答,希望能帮助到你准备Oracle面试。请充分理解题目,熟悉相关SQL操作,以提高应对面试的能力。