📜  postgres 内连接与连接 - SQL (1)

📅  最后修改于: 2023-12-03 15:18:37.793000             🧑  作者: Mango

Postgres 内连接与连接 - SQL

在Postgres 或其他数据库中,连接(join)是最常见的一种操作。连接用于将两个或更多表中的数据组合在一起,以形成更有用的结果集。可以使用内连接(inner join)和外连接(outer join),本文将介绍内连接。

内连接是连接操作中最常见的一种类型。内连接返回两个或多个表中都存在的匹配行。语法如下:

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2 
ON table_name1.column_name = table_name2.column_name;
  • column_name(s):需要返回的列名。
  • table_name1:第一个表的名称。
  • table_name2:第二个表的名称。
  • column_name:连接的列名。
例子

假设您有两个表:employeesdepartments,每个表都有一个共同的列 department_id,用于表示员工所在的部门。如果您希望根据 department_id 列连接两个表以获取有关员工及其所在部门的详细信息,则可以使用以下查询:

SELECT employees.*, departments.department_name
FROM employees
INNER JOIN departments 
ON employees.department_id = departments.department_id;

本查询将返回一个包含员工姓名、薪水和部门名称的结果集。涉及的表结构如下:

employees 表

| employee_id | employee_name | salary | department_id | |-----------:|--------------|-------:|--------------:| | 1 | John | 50000 | 1 | | 2 | Jane | 70000 | 2 |

departments 表

| department_id | department_name | |--------------:|----------------| | 1 | Sales | | 2 | Marketing |

上述查询语句使用了 INNER JOIN 来连接两个表。查询语句返回了所有在 employees 和 departments 两个表中都存在的数据。因为上面两个示例表中的每个员工都有一个有效的部门ID,所以返回了两个表中所有数据的交集。

结语

内连接是最常见的连接类型之一,它可以使两个或多个表中的数据组合在一起,从而获得有关这些表的更多信息。在使用联结时,请确保您了解查询语句的语法,以免出现错误结果。