java多表查询_【JavaWeb】64:多表查询详解

今天是刘小爱自学Java的第64天。

感谢你的观看,谢谢你。

话不多说,继续开始数据库的学习:

6d4911982cd7

image

昨天学习了多表设计,事实上我们所需要的数据,通常会来自多张表。

那么如何使用sql语句一次性查询多张表的数据?

这是我们应该去考虑的问题,为了解决这个问题,今天继续学习多表查询。

一、笛卡尔积与内连接

万万没有想到,学个数据库竟然还能接触到笛卡尔积?后面不会学着学着还会出现牛顿吧……

牛顿、拉格朗日、泰勒、傅里叶……简直就是大学噩梦般的存在。

现在有两张表:部门表、成员表。

那如何查询出一个结果既显示成员又显示部门呢?

就需要引入笛卡尔积的概念:

[图片上传中...(image-3405d6-1592557550138-9)]

格式:select * from member,department;

查出来的数据就相当于成员表与部门表的乘积。

也就是将成员表里的每一条数据都和部门表中的每一条匹配连接。

成员表一共有7条数据

部门表一共有4条数据

那根据笛卡尔积查询出来的数据一共4*7=28条

那么现在问题来了:这就变成排列组合了,查询到的结果冗余。如何避免结果冗余?

将这两张表相同的地方作为查询条件:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值