SQL三表关联查询

2024-12-29 21:20   168   0  

如何执行 SQL 三表关联查询?

关联查询用于从多个表中合并数据。使用 SQL 进行三表关联查询需要以下步骤:

1. 表连接类型:

选择与您关联需求相对应的连接类型:

  • INNER JOIN:仅返回两个表的公共行。

  • LEFT JOIN:返回左表的所有行以及匹配右表的行,如果没有匹配项,则返回 NULL。

  • RIGHT JOIN:返回右表的所有行以及匹配左表的行,如果没有匹配项,则返回 NULL。

  • FULL JOIN:返回两个表中的所有行,即使没有匹配项。

2. 关联条件:

指定连接表之间的关联条件,通常使用 ON 关键字:

1

ON <左表字段> = <右表字段>

3. 查询语法:

使用以下语法执行关联查询:

1

2

3

4

SELECT <列列表>

FROM <表1>

<连接类型> <表2> ON <关联条件>

<连接类型> <表3> ON <关联条件>

示例:

假设我们有以下三个表:

  • 客户表 (Customers):id, name, city

  • 订单表 (Orders):id, customer_id, product_id, quantity

  • 产品表 (Products):id, name, price

要查找某个客户的所有订单以及产品信息,可以使用以下查询:

1

2

3

4

5

6

7

8

SELECT

  Customers.name AS CustomerName,

  Products.name AS ProductName,

  Orders.quantity

FROM Customers

INNER JOIN Orders ON Customers.id = Orders.customer_id

INNER JOIN Products ON Orders.product_id = Products.id

WHERE Customers.name = 'John Doe';

注意事项:

  • 确保连接字段的数据类型相同。

  • 如果存在多个关联条件,可以使用括号将其分组。

  • 您还可以使用 USING 关键字指定连接字段(适用于多个公共字段)。


来源:https://www.php.cn/faq/816928.html

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。