admin 管理员组

文章数量: 1184232


2024年3月10日发(作者:易企秀报名表单制作)

sql join示例

SQL的JOIN操作是将两个或更多表的行连接起来,生成一个新的关系(结果集)。JOIN

在SQL查询中是最常见的操作之一,它往往需要处理连接、重复项和空值的问题。

SQL JOIN语句可以实现以下几种JOIN操作: INNER JOIN(内连接)、LEFT JOIN(左

连接)、RIGHT JOIN(右连接)和 FULL OUTER JOIN(全连接)。本文将逐一介绍这些JOIN

操作,并提供相关示例。

1. INNER JOIN(内连接)

INNER JOIN是最基本的JOIN操作之一,它只返回两个表中都存在的行,即两个表的交

集。

示例一:查找医生和其所在医院的信息。

假设我们有两个表,一个医生信息表(Doctors),一个医院信息表(Hospitals)。

表结构如下:

表Doctors:

| ID | Name | HospitalID |

|----|------|------------|

| 1 | Tom | 1 |

| 2 | Jane | 2 |

| 3 | John | 1 |

| 4 | Mary | 3 |

表Hospitals:

可以使用内连接查询出医生和医院的信息:

SELECT AS DoctorName, AS HospitalName

FROM Doctors

INNER JOIN Hospitals

ON alID =

结果如下:

可以看到,只保留了两个表中共有的记录。

LEFT JOIN 返回左表中所有的记录以及右表中与左表匹配的记录,左表中没有匹配的

记录也会被输出,右表中没有匹配的记录会以NULL值显示。

使用LEFT JOIN查询:

可以看到,在左表中没有匹配到的记录(Alice的信息)在结果集中以NULL值显示。

由于MySQL不支持FULL OUTER JOIN,因此下面提供的示例使用UNION实现相同的效

果。

UNION

可以看到,所有医生和所有医院的信息,包括没有医生或医院的记录,都被保留了下

来,并用NULL值表示。


本文标签: 医生 记录 没有 信息 医院