数据库由表组成,在 RDBMS 的情况下,每个表称为一个关系。
让我们考虑一个名为 University 的示例数据库,它有两个名为 Student 和 Marks 的表。如果用户想要传输一组特定的行,则将插入到 select 语句与查询一起使用。但是,如果用户想要从两个表中获取一整套行,或者如果用户只想从两个表中提取一组选定的行,则连接是在查询中使用的完美匹配。
联接是从两个表中提取数据以生成一组有意义的新数据的子句。联接最多仅用于两个表。从表中提取的数据形成一个新的表或关系,不同于之前用于数据提取的表。 Microsoft 版本的 SQL 支持不同类型的联接,如左联接、右联接、自联接、内联接、完全外联接和交叉联接。
例子 –
Student 和 Marks 这两个表属于同一个数据库大学。如果用户想要连接两个表中的所有行,则必须给出查询:
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 |