📜  MS SQL Server 中的自联接和交叉联接

📅  最后修改于: 2021-09-09 10:30:40             🧑  作者: Mango

先决条件 – MS SQL Server 介绍

1.自助加盟:
自联接允许我们联接表本身。当用户想要比较同一个表中的数据(行)时,它很有用。

句法 –

select 
select_list
from T t1 [Inner|Left] Join on T t2 
on join_predicate.

这里 T 指的是我们用来比较的表,它被引用了两次。为避免错误和混淆,t1 和 t2 与 T 一起用于比较同一表中的两行。内连接或左连接用于自连接以避免错误。 2.交叉连接:
交叉连接允许我们连接两个表的每一行。它类似于连接所有行的笛卡尔积。

句法 –

select 
select_list 
from T1 cross join T2

例子 –
从大学数据库中挑选学生和课程表。

表 –学生

Name Age Rollno
Aisha 19 111
Maya 18 112
Naina 18 113

表 –课程

Name Rollno Course
Aisha 111 CSE
Maya 112 EEE
Naina 113 ECE

1. 自助加盟:
应用了自联接,结果集如下表所示。

select n1.name, n2.name 
from Student n1 inner join Student n2 
on rollno n1 = rollno n2

NULL NULL

2.交叉连接:
应用交叉连接,结果集是第四个表。

select *
from Student cross join Course

Name Age Rollno Name Rollno Course
Aisha 19 111 Aisha 111 CSE
Maya 18 112 Maya 112 EEE
Naina 18 113 Naina 113 ECE

附加文章——

  • MS SQL Server 中的完全联接和内部联接
  • MS SQL Server 中的左连接和右连接