pgsql多表连接查询
时间: 2023-07-09 16:10:19 浏览: 175
在 PostgreSQL 中,可以使用 JOIN 语句实现多表连接查询。JOIN 语句的语法如下:
```
SELECT column_name(s)
FROM table1
JOIN table2 ON table1.column_name = table2.column_name;
```
其中,JOIN 语句包括两个表名和 ON 子句。ON 子句指定连接两个表所使用的列,这个例子中,连接的两个表是 table1 和 table2,它们的连接列是 column_name。
除了 JOIN 之外,还有其他连接多个表的方式:
- INNER JOIN:返回两个表中符合条件的匹配行。
- LEFT JOIN:返回左表中所有行和符合条件的右表行,若右表中没有匹配的行,则用 NULL 填充左表的行。
- RIGHT JOIN:返回右表中所有行和符合条件的左表行,若左表中没有匹配的行,则用 NULL 填充右表的行。
- FULL OUTER JOIN:返回左右表中所有符合条件的行,若某个表中没有匹配的行,则用 NULL 填充。
下面是一个 JOIN 语句的示例,连接了三个表:
```
SELECT
employees.first_name,
employees.last_name,
departments.department_name
FROM
employees
INNER JOIN dept_emp ON employees.emp_no = dept_emp.emp_no
INNER JOIN departments ON dept_emp.dept_no = departments.dept_no;
```
这个查询语句返回了员工的姓名和所属的部门名,通过 INNER JOIN 将三个表连接在一起,连接列分别是 employees.emp_no 和 dept_emp.emp_no,dept_emp.dept_no 和 departments.dept_no。
希望这个例子可以帮助你理解 PostgreSQL 中多表连接查询的用法。
阅读全文