使用 SQL 表连接从多列检索数据
本指南演示了如何有效地组合多个 SQL 表中的数据以检索各个列中的信息。我们将重点关注 INNER JOIN
方法,重点介绍其用途并解决 Microsoft Access 的特定注意事项。
INNER JOIN
方法
INNER JOIN
根据共享列值合并两个或多个表中的行。 结果表仅包含所有连接表中存在匹配项的行。 我们的示例涉及 tbl_facilitatorClasses
和 tbl_facilitators
来显示班级名称和辅导员详细信息(主要和次要)。
这是使用 INNER JOIN
的 SQL 查询:
<code class="language-sql">SELECT tbl_facilitatorClasses.className, tbl_facilitators.facilLname AS primaryFacilitatorLname, tbl_facilitators.facilFname AS primaryFacilitatorFname, tbl_facilitatorClasses.secondFacil, tbl_facilitators.facilLname AS secondaryFacilitatorLname, tbl_facilitators.facilFname AS secondaryFacilitatorFname FROM tbl_facilitatorClasses INNER JOIN tbl_facilitators ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID INNER JOIN tbl_facilitators AS secondaryFacilitator ON tbl_facilitatorClasses.secondFacil = secondaryFacilitator.facilID;</code>
MS Access 的重要注意事项:多重连接中的括号
在 Microsoft Access 中,当使用多个 INNER JOIN
语句时,将每个连接括在括号内以确保正确的执行顺序至关重要。 上面的示例使用括号是为了清晰起见并防止潜在的错误。
为什么不UNION
?
虽然UNION
垂直组合来自多个表或子查询的数据,但它不适合这种场景。 UNION
只是追加行,而不根据共享列值匹配它们,这不会提供所需的组合辅助器和类数据。
以上是如何在SQL中高效地连接表以从多列中检索数据?的详细内容。更多信息请关注PHP中文网其他相关文章!