从Oracle内联接中学习一个简单的例子(oracle内联接例子)

从Oracle内联接中学习:一个简单的例子

内联接是一种常用的SQL操作,可以将两个表中的共同数据联接在一起。Oracle数据库提供了多种内联接方法,其中较为常用的是内部联接(Inner Join)。本文将介绍内部联接的概述和一个简单的例子。

概述

内部联接是SQL语法中最常见的联接方法之一,用于查询两个或多个表中共同拥有的行。通过INNER JOIN关键字将两个表联接在一起,可以根据指定的列或多个列的匹配条件返回结果集,当然也可以使用别名来指定需要查询的列。

一个简单的例子

现在假设我们有两个表,一个是“学生表”,一个是“课程表”。学生表中有每个学生的姓名、年龄和学号,课程表中有每个课程的名称、编号和学分。我们希望查询并返回学生名称、课程名称和学分,以便于我们统计学生成绩。

创建两个表

我们首先需要创建两张表,如下所示:

CREATE TABLE students (

student_id INT PRIMARY KEY,

student_name VARCHAR2(50),

age INT

);

CREATE TABLE courses (

course_id INT PRIMARY KEY,

course_name VARCHAR2(50),

credit INT

);

插入测试数据

为了演示这个例子,我们需要插入一些测试数据。我们可以使用 INSERT INTO 语句将数据插入表中:

INSERT INTO students VALUES (1, ‘小明’, 20);

INSERT INTO students VALUES (2, ‘小红’, 21);

INSERT INTO students VALUES (3, ‘小兰’, 22);

INSERT INTO courses VALUES (1, ‘数学’, 3);

INSERT INTO courses VALUES (2, ‘英语’, 2);

INSERT INTO courses VALUES (3, ‘物理’, 4);

INSERT INTO courses VALUES (4, ‘计算机’, 3);

查询结果

现在我们已经创建了两张表并插入了测试数据,让我们看看如何使用内部联接查询出学生名称、课程名称和学分。查询语句如下:

SELECT s.student_name, c.course_name, c.credit

FROM students s

INNER JOIN courses c

ON s.student_id = c.course_id;

该查询语句将返回以下结果:

学生名称 |课程名称 |学分

——————————

小明 |数学 |3

小明 |计算机 |3

该查询语句使用 INNER JOIN 关键字将两个表 students 和 courses 联接在一起,然后使用 ON 关键字指定该联接基于 student_id 和 course_id 这两列。

总结

内部联接是SQL语法中最基本和最重要的联接方法之一,用于联接两个或多个表。使用INNER JOIN关键字将两个表联接在一起,并使用ON条件进行匹配,返回结果集。在实际应用中,内部联接常常用于展示、查询和统计有关联的数据。


数据运维技术 » 从Oracle内联接中学习一个简单的例子(oracle内联接例子)