SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
Join 和 Key
有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。
数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
请看 "Persons" 表:
Id_P
LastName
FirstName
Address
City
1 |
Adams |
John |
Oxford Street |
London |
2 |
Bush |
George |
Fifth Avenue |
New York |
3 |
Carter |
Thomas |
Changan Street |
Beijing |
请注意,"Id_P" 列是 Persons 表中的的主键。这意味着没有两行能够拥有相同的 Id_P。即使两个人的姓名完全相同,Id_P 也可以区分他们。
接下来请看 "Orders" 表:
Id_O
OrderNo
Id_P
1 |
77895 |
3 |
2 |
44678 |
3 |
3 |
22456 |
1 |
4 |
24562 |
1 |
5 |
34764 |
65 |
请注意,"Id_O" 列是 Orders 表中的的主键,同时,"Orders" 表中的 "Id_P" 列用于引用 "Persons" 表中的人,而无需使用他们的确切姓名。
请留意,"Id_P" 列把上面的两个表联系了起来。
引用两个表
我们可以通过引用两个表的方式,从两个表中获取数据:
谁订购了产品,并且他们订购了什么产品?
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P
结果集:
LastName
FirstName
OrderNo
Adams |
John |
22456 |
Adams |
John |
24562 |
Carter |
Thomas |
77895 |
Carter |
Thomas |
44678 |
SQL JOIN - 使用 Join
除了上面的方法,我们也可以使用关键词 JOIN 来从两个表中获取数据。
如果我们希望列出所有人的定购,可以使用下面的 SELECT 语句:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
结果集:
LastName
FirstName
OrderNo
Adams |
John |
22456 |
Adams |
John |
24562 |
Carter |
Thomas |
77895 |
Carter |
Thomas |
44678 |
分享到:
相关推荐
SQL join 完全用法 SQL join 完全用法 学习sql join
sqljoin示例,包含左联右联内联以及外联等连接方式是学习SQL必不可少的知识
在SQL(结构化查询语言)中,JOIN操作是用于合并两个或多个表的数据,以便根据它们之间的关联性创建新的结果集。JOIN关键字是SQL查询中的关键部分,它允许我们在不同的表之间建立联系,以获取更丰富的信息。在这个...
在SQL(Structured Query Language)中,JOIN操作是用于合并两个或更多个表的数据,以便根据它们之间的关联性创建更复杂的查询结果。JOIN是数据库查询中的关键部分,它允许我们在多个表之间建立联系,从而获取更丰富...
SQL学习七-JOIN中的SQL
Sql语言学习全套-给力推荐 Sql语言学习全套-给力推荐 alterfunction.sql alterproc_alterfunc.sql createtable.sql CURSOR.sql cursor_declare_open.sql functions.sql insert work.sql insertdualdata.sql...
总的来说,SQL的学习是一个持续的过程,涵盖理论与实践,不仅可以帮助我们在互联网行业中有效地处理数据,还可以提升我们的问题解决和逻辑思维能力。无论是否直接从事数据库相关工作,了解和掌握SQL都是非常有价值的...
SQL,全称Structured Query Language,即结构化...这个"SQL学习"的DOC资料很可能涵盖了以上所有方面,包括实例、练习和解答,对于初学者来说是一份非常实用的资源,能够帮助他们快速上手SQL,并逐步精通数据库管理。
《精通SQL Server学习文档》是一份全面且深入的教程,旨在帮助初学者和有经验的数据库管理员提升在SQL Server领域的技能。SQL(Structured Query Language)是用于管理关系数据库的强大工具,无论是在数据查询、更新...
本压缩包中的学习资料涵盖了SQL Server的基础知识到高级特性,旨在帮助用户全面掌握这一强大的数据库系统。 1. **SQL基础知识**:SQL(Structured Query Language)是用于管理关系数据库的标准语言,包括数据查询、...
《SQL经典学习教程》是一本非常适合SQL初学者的教材,涵盖了从基础到进阶的各种SQL知识,旨在帮助读者从零开始逐步掌握SQL语言。以下是该教程各章节的主要内容概述: 一、SQL*PLUS工具软件的使用 在这一章中,读者...
SQL(Structured Query Language)是一种用于管理关系数据库的标准语言,广泛应用于数据查询、更新、插入和删除等操作。本篇将围绕《SQL实用学习手册》中的关键知识点进行深入探讨。 首先,SQL的基础操作包括选择...
在SQL查询中,JOIN操作是连接不同表的关键技术,它允许我们从多个相关的表中获取数据。本篇文章将深入探讨四种基本的...通过不断的实践和学习,你可以更好地掌握这些JOIN类型,并在解决复杂数据查询问题时游刃有余。
### 21天迅速学会SQL(比较完整的SQL学习手册) #### 第一部分:SQL入门与基础知识 **标题**:21天迅速学会SQL(比较完整的SQL学习手册) ...通过实践和不断练习,相信每位学习者都能成为一名熟练的SQL用户。
在SQL中,表连接(JOIN)是用于合并两个或多个表的数据的关键操作,它允许你在查询时基于共同的列从不同的表中检索信息。这里我们将深入探讨几种...在学习SQL时,理解JOIN的概念及其不同变体是非常基础且重要的一步。
《U8后台维护SQL经典学习资料详解》 在IT领域,尤其是企业信息化管理中,用友U8系统作为一款广泛使用的ERP...这份"U8后台维护sql经典学习资料"无疑是提升专业技能的宝贵资源,值得每一个U8系统使用者深入研究。
1. 查询语句:深入学习SELECT语句,包括JOIN、子查询、聚合函数、窗口函数等高级查询技巧。 2. 控制流程:了解IF...ELSE、CASE、WHILE、BEGIN...END等控制流程语句,用于编写复杂的T-SQL脚本。 3. 函数:学习内置...
《SQL学习指南》是一本专为SQL初学者和进阶者设计的学习资料,包含了中文版和英文原版两部分,旨在帮助读者全面理解和掌握SQL语言的核心概念与实用技巧。SQL,全称Structured Query Language(结构化查询语言),是...
SQL Server是一款由微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。它以其强大、稳定和高效的特点,成为了许多企业和开发者的选择。本压缩包“sql server学习资料”提供了一套全面的...