11.SQL必知必会第12课 创建联结(笛卡尔乘积&联结)

本文讲解了SQL中的联结操作,包括笛卡尔乘积的概念。通过示例展示如何通过联结从多张表中获取所需信息,并强调了使用WHERE子句过滤条件的重要性。
摘要由CSDN通过智能技术生成

一、知识

这一讲设计SQL数据库的核心理念。如果将所有数据存放在一张table,那明显是低效的。所以关系型数据库就是要将信息分解成多个表,一类数据一个表。各个表通过某些共同的值互相关联。
所以,当我们需要select多张表上的信息时,应该怎么办呢?这也正是这一课需要用到的知识——创建联结。
先举一个用例

笛卡尔乘积&联结执行过程

用到的表

在这里插入图片描述
有如此两张表,两张表的信息结合起来才是完整的数据信息。我们不加过滤直接抓信息

select 姓名,成绩,地址 from 表一,表二

输出结果如下:
在这里插入图片描述
实际就是两张表数据的简单复合,这种M*N行(假设两张表行数分别为M、N)的数据就称之为笛卡尔乘积。但是离我们想要的信息差距很大,两张表之间有关系的数据是学号,所以我们根据学号来过滤才能得到真正想要的信息

select 姓名,成绩,地址 from 表一,表二
where 表一.学号 =表二.学号

得:
在这里插入图片描述

书里的用例

用到的表

1.vendors
在这里插入图片描述
2.products

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值