Oracle 关联查询三张空表的展开(oracle三张空表关联)

当需要查询多个表中的数据时,就需要用到关联查询。本文将介绍如何用 Oracle 进行关联查询,并展示三张空表的创建过程。

我们需要创建三张空表:student、course 和 score,它们的结构如下:

“`sql

CREATE TABLE student (

id INTEGER PRIMARY KEY,

name VARCHAR2(50) NOT NULL,

gender VARCHAR2(10) NOT NULL

);

CREATE TABLE course (

id INTEGER PRIMARY KEY,

name VARCHAR2(50) NOT NULL,

credit FLOAT NOT NULL

);

CREATE TABLE score (

id INTEGER PRIMARY KEY,

student_id INTEGER NOT NULL,

course_id INTEGER NOT NULL,

score INTEGER NOT NULL,

FOREIGN KEY (student_id) REFERENCES student(id),

FOREIGN KEY (course_id) REFERENCES course(id)

);


以上代码会在 Oracle 数据库中创建三张空表。三张表的关系如下图所示:

![Oracle 关联查询:三张空表的关系图](https://cdn.jsdelivr.net/gh/YuemingQuan/image-repo/blog/2022/20220901135802.png)

以上三张表中,student 存储学生信息,course 存储课程信息,score 存储学生选课成绩信息。其中,student 和 course 表分别存储的是该表的主键 id,而 score 表则存储了两张表的外键 student_id 和 course_id,将学生和课程联系起来。

接下来,我们将向三张表中添加一些数据,以便进行关联查询。下面是向三张表中插入数据的代码:

```sql
INSERT INTO student (id, name, gender) VALUES
(1, '张三', '男'),
(2, '李四', '女'),
(3, '王五', '男');

INSERT INTO course (id, name, credit) VALUES
(1, '语文', 3),
(2, '数学', 4),
(3, '英语', 2.5);
INSERT INTO score (id, student_id, course_id, score) VALUES
(1, 1, 1, 85),
(2, 1, 2, 90),
(3, 2, 2, 88),
(4, 3, 1, 92),
(5, 3, 3, 83);

通过以上代码,我们向三张表中添加了一些数据,包括三个学生、三门课程、和五个学生成绩。我们可以通过以下代码来验证数据是否正确:

“`sql

SELECT * FROM student;


运行以上代码,我们将得到以下结果:

ID NAME GENDER

1 张三 男

2 李四 女

3 王五 男


同样的,我们查询 course 和 score 表可以得到以下结果:

```sql
SELECT * FROM course;
ID NAME CREDIT
1 语文 3
2 数学 4
3 英语 2.5
SELECT * FROM score;

ID STUDENT_ID COURSE_ID SCORE
1 1 1 85
2 1 2 90
3 2 2 88
4 3 1 92
5 3 3 83

以上代码验证了我们向三张表中添加数据的正确性。

接下来,我们来展示如何使用 Oracle 进行关联查询。我们通过以下代码,将三张表关联起来:

“`sql

SELECT s.name AS student_name, c.name AS course_name, score.score

FROM student s

JOIN score ON s.id = score.student_id

JOIN course c ON c.id = score.course_id;


运行以上代码,我们将得到以下结果:

STUDENT_NAME COURSE_NAME SCORE

张三 语文 85

张三 数学 90

李四 数学 88

王五 语文 92

王五 英语 83


以上代码将三张表关联起来,查询出了学生姓名、课程名称和对应成绩。其中,JOIN 关键字表示将两张表进行关联,ON 子句表示两张表之间的关联条件。

通过以上代码和说明,我们了解了 Oracle 关联查询的基本用法,并通过创建三张表和插入数据的过程进行了实际操作。在实际开发过程中,关联查询是经常用到的功能,通过本文的介绍,相信读者已经掌握了 Oracle 关联查询的基本原理和用法。

数据运维技术 » Oracle 关联查询三张空表的展开(oracle三张空表关联)