MYSQL教程深入sql多表差异化联合查询的问题详解

MYSQL教程深入sql多表差异化联合查询的问题详解,第1张

概述介绍《MYSQL教程深入sql多表差异化联合查询的问题详解》开发教程,希望对您有用。

《MysqL教程深入sql多表差异化联合查询的问题详解》要点:
本文介绍了MysqL教程深入sql多表差异化联合查询的问题详解,希望对您有用。如果有疑问,可以联系我们。

MysqL学习本章简略讲述本人在实例开发中遇到的多表查询的问题
其中主要讲述
select A.*,B.*,C.* from A,B,C

select A.*,C.* from 表A inner join 表B on A.ID=B.ID inner join 表C on A.code=C.code
的区别

MysqL学习最近遇到一个这样的项目需求――要求页面集合显示三个关联表的信息.
由于实际项目里出现的字段比较多,现在简化说明如下:
table A 含有字段 Username,CardCode,ItamCode
table B 含有字段 CardCode,Cardname
table C 含有字段 ItamCode,Itamname

MysqL学习其中界面要在一个数据集里同时出现Username,Cardname,Itamname
话说虽然学过sql 内联,外联的问题,但是以前的项目基本出现的都是两个表的关联实现,现在是第一次用到超过两个表的关联实现问题.在百度找了一下资料,才发现原来基本原理是一样的.哈,本人去年才入职,经验不足,大神们,请别见笑哈!
呃,如果读者暂时还不熟悉sql基本内联,外联的相关知识,请自觉找度娘面壁去哈,笔者在这里不熬述了.长话短说,现在进入正题……

MysqL学习发现要实现上面的功能有两种办法,分别是
select A.Username,B.Cardname,C.Itamname from A,C

select A.Username,C.Itamname from 表A inner join 表B on A.CardCode=B.CardCode inner join 表C on A.ItamCode=C.ItamCode
(如果字段是差异化的话,可以略写表名)

MysqL学习就上面的语法来说,其实两种实现方法的效果是一样的,但如果真要较真细说优劣的话,还是第二种实现方法比较实用的.
用inner join(全外联)的写法,不仅可以依照实际需求自由转化left join(左外联)和right join(右外联),而且注明了结合的顺序,特别是支持了sql文优化的方便.

MysqL学习还有一个就是说当我某个字段可以为null的时候,第一种查询办法得出的值其实是不完全的.比如说我上面的例子中当table C 的Itanname 并非必填的时候,只能通过左外连接(left join)来实现我们需要的效果.
有兴趣的同学可以自己 *** 作一下,验证下两种办法的不同.

欢迎参与《MysqL教程深入sql多表差异化联合查询的问题详解》讨论,分享您的想法,内存溢出PHP学院为您提供专业教程。

总结

以上是内存溢出为你收集整理的MYSQL教程深入sql多表差异化联合查询的问题详解全部内容,希望文章能够帮你解决MYSQL教程深入sql多表差异化联合查询的问题详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存