SQL SERVER 实验
文章平均质量分 64
C4n
一以贯之的努力,不得懈怠的人生
展开
-
数据库实验5.8详解(仅供校友参考)
文章目录题目第一次尝试第二次尝试第三次尝试 题目 先读题,看上去,我们只要在5.7的基础上,将TOTAL SALES 选出来就可以了 第一次尝试 select qualitycheck.PRODID, PRONAME, sum(distinct qtysold) as “TOTAL SALES” from orderline,qualitycheck,product where qualitycheck.prodid=product.prodid and orderline.prodid=product.原创 2022-05-08 17:47:23 · 528 阅读 · 0 评论 -
数据库实验2.2详解(仅供校友参考)
先读题,然后我们就大概知道了,可以用连接来做,也可以用子查询来做,听说用子查询比较快,我们就用子查询来做 use “3120004023”; select count(ordid) “TOTAL ORDERS” from shoporder where custid in(select custid from customer where customer.cgender=‘F’); 直接用子查询进行解答,查询结果如下图: ...原创 2022-04-20 19:36:32 · 269 阅读 · 0 评论 -
数据库实验5.2详解(仅供校友参考)
文章目录外连接做法派生表做法case when做法 同样的,我们先读题,题目非常简短,要求我们计算每一位顾客的订单数,那么我们自然会想到去count一下表shoporder中的ordid。有思路后,那我们就直接开始来答题。 解: 然后我们发现csurname被标了红色下曲线。 观察一下数据库关系图(直接在sql server中建立),原来csurname是在表custome中,那么我们自然会想到要对两表进行连接。 select customer.custid,csurname,count(ordid)原创 2022-04-20 19:23:37 · 799 阅读 · 6 评论 -
数据库实验5.1详解(仅供校友参考)
先读题,存在ordid为空,而custid不为空的记录,这部分记录是指有的顾客并没有买入东西,所以在shoporder表中就没有他们的记录,我们需要去customer中取这一部分数据。那么我们就可以开始答题啦! 解: 题目与课本102页例3.53非常相似,**102页中写道:需要将悬浮元组保存在结果关系中,我们就采用外连接。**所以我们采用“如法炮制”这样的招数来解决问题,即使用外连接来连接两个表。 ps:悬浮数组指多表进行连接时,不存在公共属性上值相等而被抛弃的元组。 左连接的语法格式如下: SELEC.原创 2022-04-20 18:32:49 · 747 阅读 · 2 评论 -
数据库实验4.3详解(仅供校友参考)
先读题,题目要求我们使用union语句作答,并好心地告诉我们要union哪两部分内容,即根据delivery address是否为NULL划分为两部分。那么我们就开始来答题啦! 先划分为两部分 1.我们先选出delivery address不为空的部分 from shoporder where deliveryaddress is not NULL 2.再选出delivery address为空的部分 from shoporder where deliveryaddress is NULL 再对两部分分别.原创 2022-04-20 17:51:49 · 467 阅读 · 1 评论 -
数据库实验2.3详解(仅供校友参考)
问题1:对FROM和WHERE的连接模式不熟悉 我们需要知道,WHERE 是连接条件,即 FROM 后的所有表连接起来的条件。 我们先使用以下语句连接两个表,方便理解from的连接模式 select * from shoporder,customer ; 大家可以查一下shoporder和customer的数据,从而理解使用from连接多表的模式,查询结果如下图: 实际上from的连接模式如下图(图中数字代表上图查询结果的行序号),shoporder的一个记录与customer的7个记录进行连接,即图中原创 2022-04-20 16:48:02 · 297 阅读 · 0 评论