免费智能真题库 > 历年试卷 > 程序员 > 2012年上半年 程序员 上午试卷 综合知识
  第59题      
  知识点:   SQL数据查询   GROUP BY   HAVING   ROM
  章/节:   数据库基础知识       

 
设有学生关系Student(学号,姓名,系名,课程号,成绩),则查询至少选修了四门 课程的学生学号、姓名及平均成绩的SELECT语句为:
SELECT学号,姓名,(59)
FROM Student GROUP BY (60)
HAVING (61)
 
 
  A.  SUM (成绩)
 
  B.  AVG(SUM (成绩)
 
  C.  AVG(成绩)AT平均成绩
 
  D.  AVG(成绩)AS平均成绩
 
 
 

 
  第60题    2010年下半年  
   62%
查询各部门负责人的姓名及住址的SQL语句如下:
  第62题    2013年下半年  
   41%
假设某公司营销系统有营销点关系S(营销点,负责人姓名,联系方式)、商品关系P(商品名,条形码,型号,产地,数量,价格),其中,..
  第62题    2016年下半年  
   37%
某教学管理数据库中,学生、课程关系模式分别为:S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;C(课程号,课程名..
   知识点讲解    
   · SQL数据查询    · GROUP BY    · HAVING    · ROM
 
       SQL数据查询
               SELECT语句的基本结构
               SELECT语句的基本结构如下:
               
               在这里,重点要掌握条件表达式中各种运算符的应用,如算术比较运算符=、>、<、<>、逻辑运算符AND、OR、NOT,集合成员资格运算符IN、NOT IN,此外,要特别注意理解嵌套的SELECT语句的用法。
               在查询时,SELECT语句可以有多种写法,如连接查询、嵌套查询和使用存在量词的嵌套查询等。这些查询语句最好都掌握,如果不能全部掌握,起码应能写出一种正确的查询语句。
               SELECT语句完整的句法
               SELECT语句可以由6个子句组成,但只有前两个子句是必不可少的,其他子句可以省略。完整的句法如下:
               
               SELECT语句中的限定
               本部分内容主要是对SELECT语句的进一步使用进行深入学习,领会下列各种限定的使用目的和方法。
               .要求输出表格中不出现重复元组,则在SELECT后加DISTINCT。
               .SELECT语句中允许出现加减乘除及列名、常数的算术表达式。
               .WHERE语句中可以用BETWEEN…AND…来限定一个值的范围。
               .同一个基本表在SELECT语句中多次引用时,可用AS来增加别名。
               .WHERE语句中字符串匹配用LIKE和通配符"%"及下划线"_"来实现。
               .查询结果的结构完全一致时可将两个查询进行并(UNION)、交(INTERSECT)和差(EXCEPT)操作。
               .查询空值操作不是用=`null`,而是用IS NULL来测试。
               .集合成员资格比较用IN/NOT IN,集合成员算术比较用元组θ SOME/ALL。
               .可以用子查询结果取名(表名(列名序列))来作为导出表使用。
               .基本表的自然连接操作是用NATURAL INNER JOIN来实现的。
 
       GROUP BY
        GROUP BY指定用来放置输出行的组。如果SELECT子句“目标列表达式”中包含聚合函数,则GROUP BY将计算每组的汇总值。指定GROUP BY时,选择列表中任意非聚合表达式内的所有列都应包含在GROUP BY列表中,或者GROUP BY表达式必须与选择列表表达式完全匹配。
        如果没有GROUP BY子句,则SQL列函数应用程序返回一行数据。当使用GROUP BY时,会对每个组运用函数,所以所返回的行数与分组数相同。
        当使用GROUP BY子句时,SQL将选出的行按照是否符合表达式的值或者是否符合某一列或多列的值进行分组。接下来,SQL处理每一组,从而为每组生成一行结果。在GROUP BY子句中,可以指定一列或多列或者表达式来对行进行分组。在SELECT语句中指定的项具有由行组成的每一组的属性,而不具备表中或视图中单个行的属性。
        例如,EMPLOYEE表有几组行,每一组中的这些行描述了某个特定部门的成员。为了查出每个部门中人员的平均薪水,可以写这样的SQL语句:
        
        生成的结果被分成了几行,每行表示一个部门。
        如果在GROUP BY子句中指定的列为空值,则会生成只有一行的结果,行中数据为空值。也可以将行按照多列或按照表达式进行分组。例如,使用CORPDATA.EMPLOYEE表编写一条查找每个部门男性员工和女性员工平均薪水的SELECT语句。为了实现这一点,可以这样做:
        
 
       HAVING
        HAVING子句指定组或聚合应满足的搜索条件。当HAVING与GROUP BY ALL一起使用时,HAVING子句优于ALL。
        HAVING子句对GROUP BY子句设置条件的方式与WHERE子句和SELECT语句交互的方式类似。WHERE子句搜索条件在进行分组操作之前应用,而HAVING子句搜索条件在进行分组操作之后应用。HAVING语法与WHERE语法类似,但HAVING子句可以包含聚合函数。HAVING子句可以引用选择列表中出现的任意项。
        下面的查询得到本年度截止到目前的销售额超过40000的出版商:
        
        HAVING子句用来从分组的结果中筛选行。对于可以在分组操作之前或之后应用的搜索条件,在WHERE子句中指定它们更有效。这样可以减少必须分组的行数。应当在HAVING子句中指定的搜索条件只是那些必须在执行分组操作之后应用的搜索条件。
 
       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的不足,但集成度不高,价格较贵。
   题号导航      2012年上半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第59题    在手机中做本题