如何在关系代数(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 |
广告