SQL语言——联结表

本文深入探讨了SQL中的联结操作,解释了为何关系表设计要采用联结,并展示了如何创建不同类型的联结。通过实例详细阐述了内部联结的概念,以及如何通过WHERE和ON子句来指定联结条件。同时,还介绍了联结多个表的方法,以查询特定订单中的产品信息。
摘要由CSDN通过智能技术生成

1 联结

SQL最强大的功能之一就是能在数据检索查询的执行中联结(join) 表。联结是利用SQL的

SELECT能执行的最重要的操作,很好地理解联结 及其语法是学习SQL的一个极为重要的组成部

分。

1.1 关系表

      理解关系表的最好方法是来看一个现实世界中的例子。

      假如有一个包含产品目录的数据库表,其中每种类别的物品占一行。 对于每种物品要存储的信息包括产品描述和价格,以及生产该产品的供 应商信息。

      现在,假如有由同一供应商生产的多种物品,那么在何处存储供应 商信息(如,供应商名、地址、联系方法等)呢?将这些数据与产品信 息分开存储的理由如下。

 因为同一供应商生产的每个产品的供应商信息都是相同的,对每 个产品重复此信息既浪费时间又浪费存储空间。

 如果供应商信息改变(例如,供应商搬家或电话号码变动),只需 改动一次即可。

 如果有重复数据(即每种产品都存储供应商信息),很难保证每次 输入该数据的方式都相同。不一致的数据在报表中很难利用。

     关键是,相同数据出现多次决不是一件好事,此因素是关系数据库 设计的基础。关系表的设计就是要保证把信息分解成多个表,一类数据 一个表。各表通过某些常用的值(即关系设计中的关系(relational))互 相关联。

     在这个例子中,可建立两个表,一个存储供应商信息,另一个存储 产品信息。vendors表包含所有供应商信息,每个供应商占一行,每个供 应商具有唯一的标识。此标识称为主键(primary key)࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值