SQL数据库 查询a courseeinfo表中以“计”开头,第三个只能是“机”“与”两个字中的一个,其

数据要求查出用户的信息用户丅的订单,用户购买的商品详情以及买的东西的名称,数量等具体信息其中用户订单与商品详情订单是多对多关系。一个订单可以有哆个商品详情一个商品详情可以对应多个订单。

要搞清楚如何编写代码主要是理清楚他们之间的关系:一个用户会下多个订单(list)订單对应多个商品详情(list),一个商品详情(商品编号购买数量)对应一个商品信息(商品名称,商品生产等等)

下面是查询所有用户购買的商品信息

结果:可以看到王五下了两笔订单,每一笔订单都有两个两个商品

总结:我觉得很重要的是搞清楚各表之间的关系,如果是一对多则在一的那个实体类中添加一个集合存储多的那个实体类。如果是一对一就直接添加要关联查找的那个实体类作为属性。

}

2.where c_name in ('计算机','英语')  然后基于前面查询的所有内容里面二次筛选出里面考试科目再计算机或者英语的行相对于第一步查询的全部就只显示符合条件的了

3. group by stu_id   在二次筛选(已经获得了參加了英语和计算机的所有人员信息)出来的表中再次进行新的操作,分组(这里使用学号分组因为是主键,所以可以剔除重复的人毕竟可能有人既参加了英语也参加了计算机,这样的话就在第二部查出来的表里面有同一个人但是却占了两行数据)

4.count(distinct c_name)=2 接着就是对第三部操作后嘚结果再次进行操作也就是分组以后再统计没个分组里面的行数等于2的分组。这样就查找出了需要的表了

5.对查出全部信息的表格再进行約束只显示stu_id 这个列


}

我要回帖

更多关于 a course 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信