首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >sql多表联合查询详解_sql多表查询例子

sql多表联合查询详解_sql多表查询例子

作者头像
全栈程序员站长
发布2022-09-22 16:53:12
发布2022-09-22 16:53:12
3.8K0
举报

大家好,又见面了,我是你们的朋友全栈君。

sql语句会用到许多查询语句,如果牵扯到多张表的时候 一般会需要复杂查询方式:

嵌套查询:

代码语言:javascript
复制
select * from bi_BillItem where BillID in (select BillID from bi_Bill where IsArchived='0' and IsCheckOuting='2') group by menuId,MenuPrice

这条语句 其中 select,as, count ,from where,in ,and,group up都是关键字,这条语句的意思是:bi_BillItem根据billid去bill表查满足这些条件的如果查到满足条件billid相等的就查询出bi_BillItem中的menuId,menuName,MenuPrice,(sum(AmountOrder)-sum(AmountCancel))字段 并且按 menuId和menuPrice排序

多表联合查询:

代码语言:javascript
复制
select * from bi_BillItem left join bi_Bill on bi_BillItem.BillID=bi_Bill.BillID where IsArchived='0' and IsCheckOuting='2'  group by menuId,MenuPrice

这条语句 也叫做多表关联查询,left join 意思左关联的意思 ,distinct意思是去除相同的字段 ,语句意思和上面一样。

他们之间差别是 查询数据过多时,多表联合查询比嵌套查询 速度快很多 。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169422.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档