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语句时务必要格外小心和谨慎。