龙空技术网

关联查询小问题总结

我只想混个温饱 184

前言:

现在看官们对“笛卡尔积需要取消重列嘛”大概比较重视,看官们都需要剖析一些“笛卡尔积需要取消重列嘛”的相关知识。那么小编在网上收集了一些有关“笛卡尔积需要取消重列嘛””的相关内容,希望朋友们能喜欢,各位老铁们一起来学习一下吧!

一:关联查询原理

嵌套循环匹配查询,由主表取第一个数据依次和从表每条数据匹配;满足条件,形成一条综合数据

关联查询最后形成的综合数据,有两种需要注意的情况

a.作为关联条件的字段,如果在各自的表里有重复值,关联查询的结果,会有重复的数据(重复数据是满足匹配条件的数据,不是'垃圾数据')

b.一般情况下,我们会设置关联字段,在某张表里是唯一的,这样的查询结果,不会有重复数据

我们常常将某一表作为主表,查询的数据以主表为准

select * from A left join B on A.status =B.status

上面的语句是以A表为主表的左关联查询

a.假设status字段在两张表都不是唯一的(有重复),那么查询结果会有重复记录;A表的所有记录都会匹配,B表就不一定

b.假设status字段在B表是唯一的,那么查询的结果是没有重复记录的,记录条数是A表的记录条数,但B表数据不一定齐全

列如:

数据结构

废数据

当多张表有一定的关联关系时,关联查询时需要消除笛卡尔积,不然会形成很多不符合逻辑的数据(不该存在,错误的数据)

合理使用关联查询

关联查询的目的是把多张表组合成一张表,方便查询,使用过程中需要注意:消除笛卡尔积,消除重复数据 基本上,做到这两点,至少最终形成的综合表数据是有效且准确的;当以某一张表为主时,数据精确依据主表

如果觉得本文对您有用,请点关注哦~~

标签: #笛卡尔积需要取消重列嘛