SQL Right Join

时间:2020-02-23 14:32:32  来源:igfitidea点击:

在本文中,我们将重点关注SQL Right Join。
所以,让我们开始吧!

通过SQL Join,管理员可以将来自不同数据库表的选定值完全组合在一起。
有不同类型的联接,例如:

  • Left Join
  • Right Join
  • Self Join
  • Full Join等

SQL右连接的工作原理

" SQL右连接"以这种方式组合表,使其分别连接右表的所有记录和与左表匹配的数据记录。

右联接显示右表中的所有记录,并且仅包括左表中与右表记录匹配的那些记录。

现在让我们了解Right Join的结构。

Right Join的语法

看看下面的语法

SELECT column
FROM table_1
RIGHT JOIN table_2
ON table_1.column-name = table_2.column-name;

在此,表_1代表左表,而表_2代表右表。
我们使用ON子句查看右表的记录是否与左表的记录匹配。

进一步的SQL Right Join返回以下值

  • 右表的所有记录。

  • 左表与右表匹配的所有记录。

  • 对于左表与右表不匹配的记录,返回NULL。

实现SQL右连接

现在让我们通过示例实现SQL Right Join的工作。
其中我们创建了两个表-" Stud_Info"和" Stud_score",如下所示

create table Stud_Info(stud_id integer, Name varchar(200), sub varchar(200));

insert into Stud_Info(stud_id, Name, sub) values(001, 'John','Maths');

insert into Stud_Info(stud_id, Name, sub) values(002, 'Mary','Science');

insert into Stud_Info(stud_id, Name, sub) values(003, 'Ray','Social Science');

insert into Stud_Info(stud_id, Name, sub) values(004, 'Jim','History');

insert into Stud_Info(stud_id, Name, sub) values(005, 'Rick','Geo');

create table Stud_score(stud_id integer, Score Integer);
insert into Stud_score(stud_id, score) values(001, 25);
insert into Stud_score(stud_id, score) values(002, 45);
insert into Stud_score(stud_id, score) values(005, 46);
insert into Stud_score(stud_id, score) values(004, 68);
insert into Stud_score(stud_id, score) values(007, 100);

SELECT Stud_Info.stud_id, Stud_Info.Name, Stud_score.score
FROM Stud_Info
RIGHT JOIN Stud_score ON Stud_Info.stud_id = Stud_score.stud_id
ORDER BY Stud_Info.stud_id;

如图所示,它显示了右表中的所有值,并且仅选择和显示了与右表(Stud_score)匹配的左表(Stud_Info)中的那些值。
如果没有值匹配,则将这些行值表示为NULL。