从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条件进行匹配,返回结果集。在实际应用中,内部联接常常用于展示、查询和统计有关联的数据。