借助 DBMS 中的示例解释连接操作
连接操作针对一个条件组合了两个关系,用⋈表示。联接有不同的类型,Theta联接、自然联接、外联接(左外联接、右外联接、全外联接)。
示例
考虑下面给出的示例-
第1步
询问
create a table student (name char(30), regno number(10));
输出
Table created.
第2步
询问
insert into student values (‘hari’, 1); Insert into student values (‘subbu’, 2); Insert into student values (‘srinu’, 3);
输出
3 rows created.
第3步
询问
select * from student;
输出
第四步
询问
Create table marks(regno number(10), total number(10));
输出
table created.
第5步
询问
insert into marks values (1, 400); Insert into marks values(2,450); Insert into marks values (3, 300);
输出
3 rows created.
第6步
询问
select * from marks;
输出
自然连接-如果我们在同等条件下连接两个表,则称为自然连接或等连接。通常,联接称为自然联接。
自然连接的语法如下-
select columnname(s) from tablename1 join tablename2 on tablename1.columnname=tablename2.columnname;
第7步
询问
Select * from student join marks onstudent.regno= marks.regno;
输出
左连接-它是处理关系缺失值的自然连接的扩展。
第8步
询问
Select * from student left join marks onstudent.regno= marks.regno;
输出
Rightjoin-这里table2(右表)的所有元组都出现在输出中。
table1的不匹配值填充为NULL
步骤9
询问
Select * from student right join marks onstudent.regno= marks.regno;
输出
全联接−全外联接=左外联接U右外联接
第10步
询问
Select * from student full join onstudent.regno= marks.regno;
输出