如何在关系代数(DBMS)中使用聚合函数编写查询?


聚合函数如下:

  • max()

  • min()

  • sum()

  • average()

  • count()

考虑以下表格:

员工 - Emp(empid,ename,salary)

员工ID员工姓名薪资
E1Ravi4000
E2Sanjay3500
E3Sruthi3000
E4Alok3000
E5Pritam3000

部门 - Dept(deptid,dname)

部门ID部门名称
D1计算机科学与工程
D2电子与通信工程
D3土木工程

项目 - Project(projected,pname)

项目ID项目名称
P1数据库
P2网络

工作于 - Worksin(empid,depid)

员工ID部门ID
E1P1
E2P2
E3P1
E4P2
E5P2

分配 - Assign(empid,projectid)

员工ID项目ID
E1P1
E2P2
E3P1
E4P2
E5P2

示例 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员工姓名薪资
E3Smruthi3000
E4Alok3000

示例 2

显示所有从事数据库项目的员工的姓名。

步骤 1

使用以下命令:

T1=∏projectid(σpname=database(project))

输出

项目ID
P1

步骤 2

使用以下命令:

T2= ∏empid(T1⋈assign)

输出

员工ID
E1
E2

步骤 3

使用以下命令:

T3= ∏empname(T2⋈emp)

输出

员工姓名
Ravi
Smruti

更新于: 2021年7月6日

6K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告