如何在关系代数(DBMS)中使用聚合函数编写查询?
聚合函数如下:
max()
min()
sum()
average()
count()
考虑以下表格:
员工 - Emp(empid,ename,salary)
| 员工ID | 员工姓名 | 薪资 |
|---|---|---|
| E1 | Ravi | 4000 |
| E2 | Sanjay | 3500 |
| E3 | Sruthi | 3000 |
| E4 | Alok | 3000 |
| E5 | Pritam | 3000 |
部门 - Dept(deptid,dname)
| 部门ID | 部门名称 |
|---|---|
| D1 | 计算机科学与工程 |
| D2 | 电子与通信工程 |
| D3 | 土木工程 |
项目 - Project(projected,pname)
| 项目ID | 项目名称 |
|---|---|
| P1 | 数据库 |
| P2 | 网络 |
工作于 - Worksin(empid,depid)
| 员工ID | 部门ID |
|---|---|
| E1 | P1 |
| E2 | P2 |
| E3 | P1 |
| E4 | P2 |
| E5 | P2 |
分配 - Assign(empid,projectid)
| 员工ID | 项目ID |
|---|---|
| E1 | P1 |
| E2 | P2 |
| E3 | P1 |
| E4 | P2 |
| E5 | P2 |
示例 1
显示在电子与通信工程部门工作的员工的详细信息。
步骤 1
使用以下语法。这里,T1= 电子与通信工程的部门ID
T1=∏deptid(σdname=ece(dept))
输出
| 部门ID |
|---|
| D2 |
步骤 2
这里,⋈= {T1.deptid=worksin.deptid} 且 T2= 电子与通信工程的所有员工ID
T2= ∏empid(T1⋈worksin)
输出
| 员工ID |
|---|
| E3 |
| E4 |
步骤 3
这里,T3=(T2⋈emp),⋈={T2.empid=emp.empid} 且 T3= 电子与通信工程所有员工的详细信息
| 员工ID | 员工姓名 | 薪资 |
|---|---|---|
| E3 | Smruthi | 3000 |
| E4 | Alok | 3000 |
示例 2
显示所有从事数据库项目的员工的姓名。
步骤 1
使用以下命令:
T1=∏projectid(σpname=database(project))
输出
| 项目ID |
|---|
| P1 |
步骤 2
使用以下命令:
T2= ∏empid(T1⋈assign)
输出
| 员工ID |
|---|
| E1 |
| E2 |
步骤 3
使用以下命令:
T3= ∏empname(T2⋈emp)
输出
| 员工姓名 |
|---|
| Ravi |
| Smruti |
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP