软件设计师28--SQL语言
- 考点1:普通查询
 - SQL语言
 - SQL语言 - 查询
 - 例题:
 
- 考点2:分组查询
 - SQL语言 - 查询
 - 例题:
 
- 考点3:权限控制
 - SQL语言
 - 例题:
 
考点1:普通查询
SQL语言

SQL语言 - 查询

例题:
1、给定关系R(A、B、C、D)和关系S(B、C、F、G),那么与表达式π2,4,6,7(σ2<7((R⋈S))等价的SQL语句如下:
 SELECT (A) FROM R,S WHERE (C)。
A、R.B,D,F,G
 B、R.B,E,S.C,F,G
 C、R.B,R.D,S.C,F
 D、R.B,R.C,S.C,F
A、R.B=S.B OR R.C=S.C OR R.B<S.G
 B、R.B=S.B OR R.C=S.C OR R.B<S.C
 C、R.B=S.B AND R.C=S.C ANDR.B<S.G
 D、R.B=S.B AND R.C=S.C ANDR.B<S.C
考点2:分组查询
SQL语言 - 查询
[GROUP BY <列名1> [HAVING <条件表达式>]]
| 处理类型 | 处理子类 | 示例/语法 | 
| 结果排序 | 升序或降序 | ORDER BY 字段名 DESC|ACS | 
| 集函数 | 统计 | COUNT([DISTINCT|ALL]<列名>) | 
| 计算一列中值的总和 | SUM([DISTINCT|ALL]<列名>) | |
| 计算一列值的平均值 | AVG([DISTINCT|ALL]<列名>) | |
| 计算一列值中的最大值 | MAX([DISTINCT|ALL]<列名>) | |
| 计算一列值中的最小值 | MIN([DISTINCT|ALL]<列名>) | |
| 对结果分组 | 将查询结果按列值分组 | GROUP BY <列名> | 
| 对分组结果筛选 | 对分组结果筛选 | HAVING <条件表达式> | 
例题:
1、在某企业的工程项目管理系统的数据库中供应商关系Supp、项目关系Proj和零件关系Part的E-R模型和关系模式如下:
 
 Supp(供应商号,供应商名,地址,电话)
 Proj(项目号,项目名,负责人,电话)
 Part(零件号,零件名)
 其中,每个供应商可以为多个项目供应多种零件,每个项目可由多个供应商供应多种零件。SP_P需要生成一个独立的关系模式,其联系类型为(A)。给定关系模式SP_P(供应商号,项目号,零件号,数量)查询至少供应了3个项目(包含3项)的供应商,输出其供应商号和供应零件数量的总和,并按供应商号降序排列。
 SELECT 供应商号, SUM(数量) FROM (D) GROUP BY 供应商号 (C) ORDER BY 供应商号 DESC
A、* : * : *
 B、1 : * : *
 C、1 : 1 : *
 D、1 : 1 : 1
A、Supp
 B、Proj
 C、Part
 D、SP_P
A、HAVING COUNT(项目号)>2
 B、WHERE COUNT(项目号)>2
 C、HAVING COUNT(DISTINCT(项目号))>2
 D、WHERE COUNT(DISTINCT(项目号))>3
考点3:权限控制
SQL语言

例题:
1、要将部门表Dept中name列的修改权限赋予用户Ming,并允许Ming将该权限授予他人。实现该要求的SQL语句如下:
 GRANT UPDATE (name) ON TABLE Dept To Ming(C);
A、FOR ALL
 B、CASCADE
 C、WITH GRANT OPTION
 D、WITH CHECK OPTION