数据库多表查询SQL语句
来源:互联网 发布:双色球出号绝密算法 编辑:程序博客网 时间:2024/06/05 20:44
最近在做“进销存业务系统”,作为项目组成员的一部分,我负责统计查询,简单说就是多表查询,网上有很多,但是很明确的却没有,所以让我这个初学者了费,最终还是搞出来了,在这里也和大家共享一下成果和其中出现的问题,高手可绕道,不求点赞,只为方便大家。下面开始:
我一共建了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.ProductNamefrom Supplier s,PurchaseMaster pm,purchasedetail pd,product pwhere 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连接即可。
3、网上有很多关于多表查询的SQL语句,什么左右表连接了,我反正是没耐心看,哪天看我了在做补充。
- 数据库多表查询SQL语句
- 通用SQL数据库查询语句范例(多表查询)
- 通用SQL数据库查询语句范例(多表查询)
- 通用SQL数据库查询语句范例(多表查询)
- 通用SQL数据库查询语句范例(多表查询)
- 数据库SQL语句查询及多表查询
- SQL数据库查询语句
- 数据库查询SQL语句
- SQL数据库查询语句
- 通用SQL数据库查询语句/连接查询/多表连接查询 sql小例子
- 通用SQL数据库查询语句/连接查询/多表连接查询 sql小例子
- 查询数据库表和字段sql语句
- Oracle 查询数据库表空间sql语句
- SQL多表查询语句
- SQL多表查询语句
- SQL多表查询语句
- SQL语句多表查询
- sql语句多表查询
- “System.Data.Entity.Infrastructure.DbUpdateConcurrencyException”类型的异常在 EntityFramework.dll 中发生,但未在用户
- 关于采用静态链接编译生成EXE库函数重复定义问题
- Ajax+SpringMVC传递JSON数组
- (Android)利用HTML5开发app
- ubuntu64位adb不能用No such file or directory
- 数据库多表查询SQL语句
- 【找bug有奖励】:不完备的feistel算法的bug,找出答案支付宝转5块
- Android WebView(属性)缩放 字体大小
- IT从业不息,博客不止
- java 内部类分为成员内部类,局部内部类,匿名内部类,
- Django中更新多个对象数据与删除对象的方法
- CodeForces 1A Theatre Square(math)——Codeforces Beta Round #1
- [LeetCode]Set Matrix Zeroes
- cdoj 92 Journey lca