数据库由表组成,在RDBMS的情况下,每个表都称为关系。
让我们考虑一个名为University的示例数据库,它有两个名为Student和Marks的表。如果用户要转移一组特定的行,则将select语句与查询一起使用insert插入。但是,如果用户希望从两个表中获取全部行集,或者如果用户仅希望从两个表中提取选定的行集,则联接是在查询中使用的完美匹配。
联接是从两个表中提取数据以构成一组有意义的新数据的子句。联接最多只能用于两个表。从表中提取的数据形成了一个新表或关系,该表或关系与用于数据提取的先前表不同。 Microsoft版本的SQL支持不同类型的联接,例如–左联接,右联接,自联接,内部联接,完全外部联接和交叉联接。
例子 –
这两个表,即Student和Marks属于同一数据库University。如果用户要联接两个表中的所有行,则查询必须为–
select *
from student full join marks
表–学生
Name | Rollno | Course |
---|---|---|
Aisha | 111 | CSE |
Mina | 112 | EEE |
Shilpa | 113 | Mech |
表–标记
Name | Age | GPA |
---|---|---|
Aisha | 18 | 9.5 |
Mina | 19 | 8.9 |
Shilpa | 18 | 7.7 |
我们可以看到表已被联接,而没有遗漏在单个列上。为了仅提取几行,我们可以根据需要使用其他联接。
Name | Rollno | Course | Name | Age | GPA |
---|---|---|---|---|---|
Aisha | 111 | CSE | Aisha | 18 | 9.5 |
Mina | 112 | EEE | Mina | 19 | 8.9 |
Shilpa | 113 | Mech | Shilpa | 18 | 7.7 |