Oracle数据库中两张表的关联查询(oracle 2个表关联)
Oracle数据库中两张表的关联查询
在Oracle数据库中,经常需要对多个表进行关联查询,以得到更全面、更准确的信息。本文将介绍Oracle数据库中两张表的关联查询的实现方法,并提供相关代码。
1. 创建两张测试表
我们需要创建两张测试表,假设一张表为“学生信息表”,包括学生姓名、学生编号、出生日期等信息;另一张表为“课程信息表”,包括课程编号、课程名称、授课教师等信息。具体的SQL代码如下:
“`sql
CREATE TABLE student_info(
stu_id NUMBER(10) PRIMARY KEY,
stu_name VARCHAR2(20) NOT NULL,
stu_birthday DATE NOT NULL
);
CREATE TABLE course_info(
course_id NUMBER(10) PRIMARY KEY,
course_name VARCHAR2(50) NOT NULL,
course_teacher VARCHAR2(20) NOT NULL
);
2. 插入测试数据
为便于测试,我们需要向两张表中插入一些测试数据。具体的SQL代码如下:
```sql-- 向学生信息表插入数据
INSERT INTO student_info(stu_id, stu_name, stu_birthday) VALUES(1, '张三', '2000-01-01');INSERT INTO student_info(stu_id, stu_name, stu_birthday) VALUES(2, '李四', '1999-02-02');
INSERT INTO student_info(stu_id, stu_name, stu_birthday) VALUES(3, '王五', '1998-03-03');
-- 向课程信息表插入数据INSERT INTO course_info(course_id, course_name, course_teacher) VALUES(1001, '数学', '张老师');
INSERT INTO course_info(course_id, course_name, course_teacher) VALUES(1002, '英语', '李老师');INSERT INTO course_info(course_id, course_name, course_teacher) VALUES(1003, '物理', '王老师');
3. 进行关联查询
在Oracle数据库中,进行关联查询需要使用“JOIN”关键字。以下代码实现了通过学生编号与课程编号关联两张表进行查询的功能:
“`sql
SELECT
s.stu_name,
c.course_name,
c.course_teacher
FROM
student_info s
JOIN course_info c ON s.stu_id = c.course_id;
4. 结果分析
执行上述查询语句后,我们可以得到以下结果:
+--------+------------+---------------+|STU_NAME|COURSE_NAME |COURSE_TEACHER |
+--------+------------+---------------+|张三 |英语 |李老师 |
+--------+------------+---------------+
分析结果可知,查询语句由两个部分组成:"SELECT"和"FROM"。SELECT部分指定需要查询的字段,FROM部分用于指定查询的表。在这里,我们使用JOIN关键字将"学生信息表"与"课程信息表"进行关联,进而查询出了学生姓名、所选课程和授课教师信息。
5. 总结
本文介绍了Oracle数据库中两张表的关联查询的实现方法。为了方便演示,我们分别创建了学生信息表和课程信息表,并对表中插入了测试数据。通过使用JOIN关键字,我们可以很容易地将两张表进行关联,并查询出需要的数据。关联查询是Oracle数据库中十分常用的功能,可以提高查询效率、减少工作量。