1. 内连接(INNER JOIN):
内连接返回两个表中满足连接条件的行。以下是一个例子,连接名为 orders 和 customers 的两个表,其中 customer_id 是连接条件:
SELECT orders.order_id, orders.product, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
2. 左连接(LEFT JOIN):
左连接返回左表中所有行,以及右表中与左表匹配的行。如果右表中没有匹配的行,那些列将包含 NULL 值。以下是一个左连接的示例:
SELECT employees.employee_id, employees.employee_name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;
3. 右连接(RIGHT JOIN):
右连接与左连接类似,但返回右表中所有行,以及左表中与右表匹配的行。以下是一个右连接的示例:
SELECT departments.department_id, departments.department_name, employees.employee_name
FROM departments
RIGHT JOIN employees ON departments.department_id = employees.department_id;
4. 全外连接(FULL OUTER JOIN):
全外连接返回两个表中所有的行,以及满足连接条件的行。如果某一边没有匹配的行,那些列将包含 NULL 值。以下是一个全外连接的示例:
SELECT orders.order_id, orders.product, customers.customer_name
FROM orders
FULL OUTER JOIN customers ON orders.customer_id = customers.customer_id;
这些连接操作提供了在不同表之间检索和组合数据的灵活性。你可以根据实际情况选择合适的连接类型,以满足你的查询需求。连接条件通常是指两个表之间关联的列。在上面的例子中,连接条件是 orders.customer_id = customers.customer_id、employees.department_id = departments.department_id 等。
转载请注明出处:http://www.zyzy.cn/article/detail/8104/PostgreSQL