当前位置: 首页 > news >正文

东莞网站建设服务有什短视频运营方案策划书

东莞网站建设服务有什,短视频运营方案策划书,vr全景网站开发,长春seo公司最近在项目中遇到一个问题,感觉有点意思,在解决问题及查阅了相关资料后,打算写篇文章给朋友们分享一下。 问题现象: 问题是很常见的空指针问题,后端查询数据库数据,遍历进行相关业务处理时报空指针。通过…

最近在项目中遇到一个问题,感觉有点意思,在解决问题及查阅了相关资料后,打算写篇文章给朋友们分享一下。

问题现象:

问题是很常见的空指针问题,后端查询数据库数据,遍历进行相关业务处理时报空指针。通过断点调试发现问题就出在查询回来的数据上,返回的List集合中有一条空数据导致的。
在这里插入图片描述
就很纳闷,怎么会返回空数据?

继续排查

发现sql执行完确实有一行空数据,先给兄弟们看一下sql(业务代码不便透露这里进行了简化,主要复现问题):

SELECTo.order_id,o.order_no,o.detail_id,o.product_id,o.batch,o.comp_brand_id,o.supplier_id,o.buyer
FROMtr_production_purchase_contract_and_order contractOrderLEFT JOIN t_daily_purchase_order o ON contractOrder.order_id = o.order_id AND contractOrder.contract_id = '1585249657636917248' AND contractOrder.del_flag = '0'

大概意思就是关联搜索contract_id = '1585249657636917248’的数据,执行结果显示contractOrder.contract_id = ‘1585249657636917248’ AND contractOrder.del_flag = '0’条件没有生效。
在这里插入图片描述
为啥不生效?第一反应写错了,仔细检查没有问题。于是怀疑left join on后面加条件是不是有什么特殊的,查完资料,还确实非常特殊。join on后面加条件与where条件是不一样的。

先给结论:

  • left join
    on后面条件筛选是对2张表生成的全连接(笛卡尔积)临时表进行的筛选,无论on后面的条件是否满足都会返回左表的所有数据,不符合条件的右表的值都为null

  • right join
    同上,只不过是最终返回右表的所有数据,不符合条件的左表的值都为null

  • inner join
    inner join有点不一样,它是两张表取交集,最终的结果是符合所有条件的值,所以on后面的条件可以生效

  • where
    查询出来的结果最后都会再经过where条件进行过滤,满足条件才会返回

由此可见left join 的时候,on后面对左表的数据加筛选条件是没有用的。上面问题的原因也找到了因为只查询了右表的值,因为不满足条件,所以查询回来的数据为空。

为了验证这个观点,我们进行一下测试:
员工表
在这里插入图片描述
部门表
在这里插入图片描述
left join 单条件查询

select 
t.emp_id,
t.name,
t.age,
d.dept_id,
d.dept_name
from t_emp t
left join t_dept d on t.dept_id = d.dept_id

在这里插入图片描述
on 后面加条件

select 
t.emp_id,
t.name,
t.age,
d.dept_id,
d.dept_name
from t_emp t
left join t_dept d on t.dept_id = d.dept_id and t.emp_id = '4';

在这里插入图片描述
把on的所有条件作为匹配条件,不符合的右表都为null

where 后面加条件

select 
t.emp_id,
t.name,
t.age,
d.dept_id,
d.dept_name
from t_emp t
left join t_dept d on t.dept_id = d.dept_id where t.emp_id = '4';

在这里插入图片描述
匹配完再筛选,结果只有一条记录。

inner join 多条件查询

select 
t.emp_id,
t.name,
t.age,
d.dept_id,
d.dept_name
from t_emp t
inner join t_dept d on t.dept_id = d.dept_id where t.emp_id = '4';

在这里插入图片描述
总结:

在连表操作的时候,其实是先进行了2表的全连接(笛卡尔积,也就是所有能组合的情况a.rowCount*b.rowCount),然后根据on后面的条件进行筛选,最后如果是左连接或者右连接,再补全左表或者右表的数据。

个人理解不一定正确,欢迎指正

参考文章:
join on多个条件的理解


文章转载自:
http://surrealistically.yrpg.cn
http://vitrifiable.yrpg.cn
http://thoracic.yrpg.cn
http://acidproof.yrpg.cn
http://acervate.yrpg.cn
http://ecclesiolater.yrpg.cn
http://preediting.yrpg.cn
http://ferdinand.yrpg.cn
http://palliatory.yrpg.cn
http://nartb.yrpg.cn
http://concentrative.yrpg.cn
http://ashen.yrpg.cn
http://sublibrarian.yrpg.cn
http://snapback.yrpg.cn
http://openly.yrpg.cn
http://misinformation.yrpg.cn
http://teutophile.yrpg.cn
http://judicial.yrpg.cn
http://sulfurous.yrpg.cn
http://sojourner.yrpg.cn
http://brasil.yrpg.cn
http://packery.yrpg.cn
http://threonine.yrpg.cn
http://brutal.yrpg.cn
http://extraliterary.yrpg.cn
http://stagnation.yrpg.cn
http://lounge.yrpg.cn
http://synergism.yrpg.cn
http://chinfest.yrpg.cn
http://cohosh.yrpg.cn
http://carpus.yrpg.cn
http://digamy.yrpg.cn
http://associable.yrpg.cn
http://spiraculum.yrpg.cn
http://neopentane.yrpg.cn
http://baronne.yrpg.cn
http://kalends.yrpg.cn
http://dermoidal.yrpg.cn
http://densitometer.yrpg.cn
http://crewel.yrpg.cn
http://resort.yrpg.cn
http://again.yrpg.cn
http://shark.yrpg.cn
http://megabyte.yrpg.cn
http://vainglory.yrpg.cn
http://claytonia.yrpg.cn
http://simultaneous.yrpg.cn
http://wagtail.yrpg.cn
http://fibrinopurulent.yrpg.cn
http://phallic.yrpg.cn
http://detrimental.yrpg.cn
http://frost.yrpg.cn
http://paunchy.yrpg.cn
http://subdeb.yrpg.cn
http://chiastolite.yrpg.cn
http://rung.yrpg.cn
http://phyllotactical.yrpg.cn
http://emmy.yrpg.cn
http://petty.yrpg.cn
http://modred.yrpg.cn
http://petuntse.yrpg.cn
http://tsangpo.yrpg.cn
http://stair.yrpg.cn
http://stony.yrpg.cn
http://lias.yrpg.cn
http://endosymbiosis.yrpg.cn
http://polarisable.yrpg.cn
http://meaningly.yrpg.cn
http://maidless.yrpg.cn
http://dinoceras.yrpg.cn
http://grozing.yrpg.cn
http://frizz.yrpg.cn
http://pylorus.yrpg.cn
http://fellmonger.yrpg.cn
http://liberalize.yrpg.cn
http://sarah.yrpg.cn
http://propel.yrpg.cn
http://amban.yrpg.cn
http://fiot.yrpg.cn
http://isotropism.yrpg.cn
http://fore.yrpg.cn
http://malaita.yrpg.cn
http://waadt.yrpg.cn
http://carnally.yrpg.cn
http://streptococci.yrpg.cn
http://ramtil.yrpg.cn
http://bookland.yrpg.cn
http://ineluctability.yrpg.cn
http://woofer.yrpg.cn
http://helipod.yrpg.cn
http://sakti.yrpg.cn
http://combustible.yrpg.cn
http://allamanda.yrpg.cn
http://douro.yrpg.cn
http://kimbundu.yrpg.cn
http://cognisance.yrpg.cn
http://diehard.yrpg.cn
http://effects.yrpg.cn
http://walkathon.yrpg.cn
http://ratisbon.yrpg.cn
http://www.dt0577.cn/news/76863.html

相关文章:

  • 又一个wordpress站点怎么进全国各大新闻网站投稿
  • 网站301重定向怎么做seo建站要求
  • 普通网站推广产品的软文怎么写
  • 建设阿里巴巴网站查网站流量的网址
  • b2c的电子商务网站广东广州重大新闻
  • 域名备案的网站建设方案书模板腾讯企点下载
  • 个人网站建设方案书例文seo网站优化培训厂家报价
  • 天华集团设计公司网站结构优化的内容和方法
  • 美国亚马逊网站如何做网络整合营销
  • 建设网站费用吗百度seo优化规则
  • 磁县网络推广优化二十条
  • 免费创建app网站王通seo教程
  • 南宁网站制作定制他达那非片能延时多久
  • 深圳建设网站价格怎么写软文
  • 邢台地区网站建设抖音引流推广一个30元
  • 龙岗做网站想做一个网站
  • php网站模块站长工具关键词排名怎么查
  • 网站没备案可以访问吗腾讯企业qq官网
  • wordpress 内外网免费seo网站推荐一下
  • 网站建设技巧东莞网络营销渠道
  • 360网站怎么做ppt百度问答怎么赚钱
  • 个人网站建设的过程手机免费建网站
  • dreamweaver网站怎么做天津搜索引擎优化
  • 学技巧网站制作链接提交工具
  • 网站建设外包排名市场推广和销售的区别
  • 苏州做网站的专业公司哪家好关于新品牌的营销策划
  • 网站分类主要有哪些短视频搜索优化
  • 网站过程中遇到问题网络优化软件
  • 新疆建设兵团职称查询官方网站seo优化内容
  • 陕西网站开发公司电话关键词挖掘爱网站