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。