Oracle数据库中三张表的查询操作(oracle 3张表查询)

Oracle数据库中三张表的查询操作

在Oracle数据库中,表是一个非常重要的基本组成部分。查询则是对表进行操作的最基本和最常用的功能之一。本文将介绍如何在Oracle数据库中操作三张表的查询操作。

1. 创建表

首先我们需要创建三张表,这里我们假定我们需要查询一些学生和他们的科目和成绩,所以我们需要创建以下三张表:

学生表:

CREATE TABLE students (

id INT PRIMARY KEY,

name VARCHAR(50),

gender CHAR(1),

birthday DATE

);

科目表:

CREATE TABLE subjects (

id INT PRIMARY KEY,

name VARCHAR(50)

);

成绩表:

CREATE TABLE scores (

id INT PRIMARY KEY,

student_id INT,

subject_id INT,

score INT,

FOREIGN KEY (student_id) REFERENCES students(id),

FOREIGN KEY (subject_id) REFERENCES subjects(id)

);

2. 插入数据

接下来我们需要向这些表中插入数据,这里我们只插入一些简单的数据供查询使用:

INSERT INTO students (id, name, gender, birthday)

VALUES (1, ‘张三’, ‘M’, ‘1995-2-15’);

INSERT INTO students (id, name, gender, birthday)

VALUES (2, ‘李四’, ‘F’, ‘1996-8-20’);

INSERT INTO students (id, name, gender, birthday)

VALUES (3, ‘王五’, ‘M’, ‘1997-10-1’);

INSERT INTO subjects (id, name)

VALUES (1, ‘语文’);

INSERT INTO subjects (id, name)

VALUES (2, ‘数学’);

INSERT INTO subjects (id, name)

VALUES (3, ‘英语’);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (1, 1, 1, 80);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (2, 1, 2, 70);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (3, 1, 3, 90);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (4, 2, 1, 85);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (5, 2, 2, 75);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (6, 2, 3, 95);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (7, 3, 1, 90);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (8, 3, 2, 80);

INSERT INTO scores (id, student_id, subject_id, score)

VALUES (9, 3, 3, 70);

3. 查询操作

查询一张表中的所有记录:

SELECT * FROM students;

查询指定条件的记录:

SELECT * FROM students WHERE gender = ‘M’;

查询多张表中的相关数据:

SELECT students.name, subjects.name, scores.score

FROM students, subjects, scores

WHERE students.id = scores.student_id AND subjects.id = scores.subject_id;

这条查询语句查询了学生的姓名,科目名称和成绩。其中涉及到三张表的联接,用到的关键字是WHERE和AND,表示当学生表中的id等于成绩表中的student_id,以及科目表中的id等于成绩表中的subject_id时,就将三张表中相关的记录联接起来。

4. 结语

本文介绍了在Oracle数据库中操作三张表的查询操作,包括创建表,插入数据和查询操作。Oracle是一个非常强大和广泛使用的数据库管理系统,在编写和执行SQL语句时务必要格外小心和谨慎。


数据运维技术 » Oracle数据库中三张表的查询操作(oracle 3张表查询)