sql多表查询
发布日期:2021-11-02 05:00:21 浏览次数:2 分类:技术文章

本文共 1120 字,大约阅读时间需要 3 分钟。

最近在做“进销存业务系统”,作为项目组成员的一部分,我负责统计查询,简单说就是多表查询,网上有很多,但是很明确的却没有,所以让我这个初学者了费,最终还是搞出来了,在这里也和大家共享一下成果和其中出现的问题,高手可绕道,不求点赞,只为方便大家。下面开始:

我一共建了4个表,分别是Supplier、PurchaseMaster、PruchaseDetail、Product四个表(大家在测试的时候可以随意建,但是一定要看好我的表之间的关联关系)

表结构:
Supplier:SupplierID、 SupplierSimpleName

PurchaseMaster:PurchaseID、SupplierID

PruchaseDetail:PurchaseID、ProductID、PurchaseQuantity、PurchaseAmount

Product:ProductID、ProductName

我们要查询的是SupplierID、 SupplierSimpleName、PurchaseQuantity、PurchaseAmount、ProductName

从表结构上可以看出,各个表之间只有一个相同属性,而且每个表之间还不相同,从查询结果上来看其实与PurchaseMaster表没有什么关系,但实际上它却起到了一个连接性的作用。所以必不可少。现在我们的要求是根据SupplierID去查询我们要查询的这个项内容,查询语句如下:

SELECT s.SupplierID,s.SupplierName,

pd.PurchaseQuantity,pd.PurchaseAmount,p.ProductName

from Supplier s,PurchaseMaster pm,purchasedetail pd,product p

where s.SupplierID = pm.SupplierID AND pm.PurchaseID = pd.PurchaseID

AND pd.ProductID = p.ProductID
输出结果:
在这里插入图片描述其中出现的问题:

1、大家可以看到我在数据库里建的表都是大写字母开头,但是我在from语句后面跟的却有小写,所以这里并不影响,但是当你输入的时候会有提示,最好根据提示来,否则容易出错,我写的时候就是因为form后面的purchasedetail pd,开始用的大写的P,所以一直出不来,所以这些语句,最好用提示,凡是提示不出来的都有可能出现错误。

2、如果是已经知道要查询的SupplierID是多少,那么在where后面加上s.SupplierID = “001”并用and连接即可。

转载地址:https://blog.csdn.net/weixin_43488355/article/details/84922290 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Jsp的四大作用域与九大对象
下一篇:return的作用

发表评论

最新留言

不错!
[***.144.177.141]2024年04月01日 18时29分54秒