免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2017年上半年 数据库系统工程师 上午试卷 综合知识
  第42题      
  知识点:   分组查询   ROM   排列
  关键词:   供应商        章/节:   数据库标准语言—SQL       

 
给定关系模式SP_P (供应商号,项目号,零件号,数量),查询至少给3 个(包含3个)不同项目供应了零件的供应商,要求输出供应商号和供应零件数量的总和,并按供应商号降序排列
SELECT 供应商号, SUM (数量) FROMSP _P
(42)
(43)
(44);
 
 
  A.  ORDERBY供应商号
 
  B.  GRÒUPBY供应商号
 
  C.  ORDERBY供应商号ASC
 
  D.  GROUPBY供应商号DESC
 
 
 

 
  第41题    2014年上半年  
   38%
假定某企业根据2014年5月员工的出勤率、岗位、应扣款得出的工资表如下:
  第39题    2013年上半年  
   26%
假定学生Students和教师Teachers关系模式如下所示:
Students(学号,姓名,性别,类别,身份证号)
Teachers(教师号,..
  第40题    2014年上半年  
   37%
假定某企业根据2014年5月员工的出勤率、岗位、应扣款得出的工资表如下:
   知识点讲解    
   · 分组查询    · ROM    · 排列
 
       分组查询
               GROUP BY子句
               在WHERE子句后面加上GROUP BY子句可以对元组进行分组,保留字GROUP BY后面跟着一个分组属性列表。最简单的情况是FROM子句后面只有一个关系,根据分组属性对它的元组进行分组。SELECT子句中使用的聚集操作符仅用在每个分组上。
               该语句是将SC关系的元组重新组织,并进行分组使得不同学号的元组分别被组织在一起,最后求出各个学生的平均值输出。
               HAVING子句
               假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY子句后面跟一个HAVING子句即可。
               注意:当元组含有空值时,应该记住以下两点。
               (1)空值在任何聚集操作中被忽视。它对求和、求平均值和计数都没有影响。它也不能是某列的最大值或最小值。例如,COUNT(*)是某个关系中所有元组数目之和,但COUNT(A)却是A属性非空的元组个数之和。
               (2)NULL值又可以在分组属性中看作是一个一般的值。例如,SELECT A,AVG(B)FORM R中,当A的属性值为空时,就会统计A=NULL的所有元组中B的均值。
               根据题意“某工程至少用了三家供应商(包含三家)供应的零件”,应该按照工程号分组,而且应该加上条件供应商的数目。但是需要注意的是,一个工程项目可能用了同一个供应商的不同零件,因此,在统计供应商数的时候需要加上DISTINCT,以避免重复统计导致错误的结果。例如,按工程号Jno='J1'分组,其结果如下表所示。如果不加DISTINCT,统计的结果数为7;而加了DISTINCT,统计的结果数为5。
               
               按工程号Jno='J1'分组
 
       ROM
        只读存储器(Read-Only Memory,ROM)。ROM的重要特性是其存储信息的非易失性,存放在ROM中的信息不会因去掉供电电源而丢失,再次上电时,存储信息依然存在。其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。
               PROM
               可编程只读存储器(Programmable ROM,PROM)的内部有行列式的熔丝,是需要利用电流将其烧断,写入所需的资料,但仅能写录一次(又称作OTPROM,One Time Programmable Read Only Memory)。PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1),以实现对其“编程”的目的。PROM的典型产品是“双极性熔丝结构”,如果想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间,原先的熔丝即可熔断,这样就达到了改写某些位的效果。另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还是用大电流的方法将反相电压加在“肖特基二极管”上,造成其永久性击穿即可。
               EPROM
               可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)是目前使用最广泛的ROM。其利用高电压电流将资料编程写入,抹除时将线路曝光于紫外线下,则资料可被清空。之后又可以用电的方法对其重新编程,重复使用。通常在封装外壳上会预留一个石英透明窗以方便曝光。
               利用物理方法(紫外线)可擦除的RROM通常称为EPROM;用电的方法可擦除的PROM称为EEPROM(E2PROM)。
               EEPROM
               电子式可抹除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)之运作原理类似EPROM,但是抹除的方式是使用高电场来完成。
               EPROM需用紫外光擦除,使用不方便也不稳定。20世纪80年代制出的EEPROM,克服了EPROM的不足,但集成度不高,价格较贵。
 
       排列
        设S为具有n个不同元素的n元集,从S中选取r个元素且考虑其顺序称为S的一个r排列,不同排列的总数记为,有时也用P(nr)表示。如果r=n,则称这个排列为S的全排列。从排列的定义可知,如果两个排列相同,不仅这两个排列的元素必须完全相同,而且排列的顺序也必须完全相同。
        
        例子1:用0~9这十个数字,可以组成多少个没有重复数字的三位数?
        解法1:由于百位数上的数字不能为0,因此可先考虑排百位上的数字,再排十位和个位上的数字。百位数上的数字只能从除0以外的1~9数字中任选一个,有种;十位和个位上的数字,可以从余下的9个数字中任选两个,有种。根据乘法原理,所求的三位数的个数是
        解法2:可先考虑从0~9这十个数字中任取三个数字的排列数(),再减去其中以0开头的排列数()。因此,所求的三位数的个数是
        解法3:符合条件的三位数可以分为三类:每一位数字都不是0的三位数有个;个位数是0的三位数有个;十位数是0的三位数有个。根据加法原理,符合条件的三位数个数是
   题号导航      2017年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第42题    在手机中做本题