SQL 内连接

SQL 内连接

SQL中的内连接是最常见和最重要的连接类型,允许用户从两个或多个数据库表中访问匹配的数据。

当表之间的连接条件满足时,它将返回它们之间的所有公共行。

内连接的维恩图如下图所示。维恩图的阴影区域显示两个表的交集值:

SQL 内连接

SQL中INNER JOIN的语法

SELECT Column_Name1, Column_Name2, ….., Column_NameN
FROM Table_Name1 INNER JOIN Table_Name2
ON Table_Name1.Column_Name = Table_Name2.Column_Name;

SQL中内连接的示例

让我们以两个名为 Employee_DetailsDepartment 的表来理解内连接的概念。Employee_Details表包含Emp_ID,Emp_Name,Dept_ID和Emp_Salary列。Department表包含Dept_Id和Dept_Name列。

我们可以使用以下两个不同的查询来检查 Employee_DetailsDepartment 表的数据:

SELECT * FROM Department;

输出:

Dept_Id Dept_Name
1001 Finance
1002 Marketing
1003 Sales
1004 Coding
1005 Administration
SELECT * FROM Employee_Details;

输出:

Emp_Id Emp_Name Dept_Id Emp_Salary
1 Akshay 1001 23000
2 Ram 1002 24000
3 Balram 1004 25000
4 Yatin NULL NULL
5 Manoj 1004 23000
6 Sheetal 1003 24000
8 Yogesh NULL NULL
9 Naveen NULL NULL
10 Tarun 1004 23000

以下的查询使用结构化查询语言(SQL)中的 INNER JOIN 语法来连接上述两个表:

SELECT 
Employee_Details.Emp_Id, 
Employee_Details.Emp_Name, Department.Dept_Name, Employee_Details.Emp_Salary, 

FROM Department INNER JOIN Employee_Details 

ON 
Department.Dept_ID = Employee_Details.Emp_Id; 

以上 INNER JOIN 查询的解释:

此查询将 Employee_Details 表和 Department 表进行连接,并访问两个表中 Department.Dept_Id = Employee_Details.DeptId 的记录。

它只提取那些在 Employee 表和 Department 表中的 Dept_Id 匹配的员工的详细信息。

如果 Dept_Id 为 NULL 或不匹配,则该行不会显示在输出中。

输出:

Emp_Id Emp_Name Dept_Name Emp_Salary
1 Akshay Finance 23000
2 Ram Marketing 24000
3 Balram Coding 25000
5 Manoj Coding 23000
6 Sheetal Sales 24000
10 Tarun Coding 23000

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程