软件设计师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