Oracle数据库中关联主键的使用
- 行业动态
- 2024-04-24
- 2
在Oracle数据库中,关联主键用于建立表与表之间的关系,通过关联主键,可以将多个表中的数据进行连接和查询,实现数据的一致性和完整性。
主键的定义和使用
1、主键的概念:主键是表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行数据。
2、主键的创建:在创建表时,可以使用PRIMARY KEY关键字来定义主键,创建一个名为"students"的表,其中id为主键:
CREATE TABLE students ( id NUMBER PRIMARY KEY, name VARCHAR(50), age NUMBER );
3、主键的使用:主键的值不能重复且不能为空,在插入数据时,如果没有指定主键的值,系统会自动为其生成一个唯一的值,在查询数据时,可以利用主键进行快速定位和过滤。
外键的定义和使用
1、外键的概念:外键是一个表中的列或多列,其值必须与另一个表的主键的值相匹配,它用于建立两个表之间的关联关系。
2、外键的创建:在创建表时,可以使用FOREIGN KEY关键字来定义外键,创建一个名为"courses"的表,其中id为主键,student_id为外键,关联到"students"表的id列:
CREATE TABLE courses ( id NUMBER PRIMARY KEY, name VARCHAR(50), student_id NUMBER, FOREIGN KEY (student_id) REFERENCES students(id) );
3、外键的使用:外键的值必须存在于被引用表的主键中,在插入数据时,如果外键的值不存在于被引用表的主键中,系统会报错,在更新或删除数据时,如果被引用表中有与外键匹配的数据,也会报错,这样可以保证数据的一致性和完整性。
关联查询的使用
1、内连接(INNER JOIN):内连接返回两个表中满足条件的数据行,即只返回两个表中存在关联关系的数据行,查询学生选修的课程信息:
SELECT students.name, courses.name FROM students INNER JOIN courses ON students.id = courses.student_id;
2、左连接(LEFT JOIN):左连接返回左表中的所有数据行,即使右表中没有匹配的数据行,如果右表中没有匹配的数据行,则显示为NULL,查询所有学生的选课信息,包括没有选课的学生:
SELECT students.name, courses.name FROM students LEFT JOIN courses ON students.id = courses.student_id;
3、右连接(RIGHT JOIN):右连接返回右表中的所有数据行,即使左表中没有匹配的数据行,如果左表中没有匹配的数据行,则显示为NULL,查询所有课程的选课信息,包括没有学生选课的课程:
SELECT students.name, courses.name FROM students RIGHT JOIN courses ON students.id = courses.student_id;
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/238474.html