联结表
15.1、联结
15.1.1、关系表
例如,两张表,一个是vendors,存储供应商信息,另一张表products,存储商品信息。vendors表的主键又被叫做products的外键,它将vendors表与products表关联,利用供应商ID能从ventors表中找出供应商的信息。
外键(foreign key) 外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。
关系数据可以有效地存储和方便地处理。因此,关系数据库的可伸缩性远比非关系数据库要好。
15.2、创建联结
输入:
SELECT name,products,price
from vendors,products
WHERE vendors.id = products.id
ORDER BY name,products;
输出:
分析:from vendors,products列出两个表,他们就是这条SELECT语句联结的两个表的名字,用WHERE子句正确联结。
笛卡尔积(cartesian product) 由没有联结条件的表关系返回的结果为笛卡尔积。检索出的行的数目将是第一个表中的行数乘以第二个表中的行数。
如下所示:
输入:
SELECT name,products,price
from vendors,products
ORDER BY name,products;
输出:
15.2.2、内部联结
目前为止所用的联结称为等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内部联结。使用不同的语法来实现:
输入:
SELECT name,products,price
from vendors INNER JOIN products
ON vendors.id = products.id;
分析:不同点在于from子句,使用INNER JOIN 指出要关联的表名,使用ON关联。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2022-12-08 Java泛型