解释关系代数 (DBMS) 中的 select 操作?
dbmsdatabasebig data analytics更新于 2026/1/12 23:22:17
查询是一个问题或请求信息。查询语言是一种用于从数据库中检索信息的语言。
查询语言分为两种类型 −
过程式语言
非过程式语言
过程式语言
通过指定要执行的操作序列从数据库中检索信息。
例如 −关系代数。
结构化查询语言 (SQL) 基于关系代数。
关系代数由一组运算组成,这些运算以一个或两个关系作为输入,并产生一个新的关系作为输出。
关系代数运算的类型
关系代数运算的不同类型如下 −
选择运算
投影运算
重命名运算
并运算
交运算
差运算
笛卡尔积运算
连接运算
除运算操作
选择、投影、重命名属于一元运算(对一个表进行操作)。
选择操作
它显示满足条件的记录。它用 sigma (σ) 表示,是原始关系的水平子集。
语法
其语法如下 −
σ条件(表名)
示例
考虑下面的学生表 −
| Regno | Branch | Section |
|---|---|---|
| 1 | CSE | A |
| 2 | ECE | B |
| 3 | CIVIL | B |
| 4 | IT | A |
现在,要显示学生表中的所有记录,我们将使用以下命令 −
σ(student)
此外,当我们需要显示学生表中 CSE 分支的所有记录时,我们将使用以下命令 −
σbranch=cse(student)
因此,结果将如下所示 −
| RegNo | Branch | Section |
|---|---|---|
| 1 | CSE | A |
要显示学生表中所有regno>2,我们将使用下面提到的命令 −
σRegNo>2(student)
输出结果如下 −
| RegNo | Branch | Section |
|---|---|---|
| 3 | CIVIL | B |
| 4 | IT | A |
要显示 ECE B 分支的学生记录,请使用给定的命令 −
σbranch=ECE ^ section=B(student)
要显示 B 部分 CSE 和 IT 分支的记录,请使用以下命令 −
σSection=B ^ Branch=cse ∨ branch=IT(student)
以员工表作为另一个示例,了解选择操作。
检索工资大于 20,000 的员工信息
如果指定了一个条件,我们可以使用以下命令 −
σ salary > 20,000 (emp)
如果查询中指定了多个条件,则 (AND: ^, OR:∨ , Not:#, equal: =, >, <, >=, <=)
关系运算符将用于将多个条件组合成一个语句。
示例 − 为了检索工资 > 20,000 且在 HOD 工作且部门号为 20 的员工的信息,我们可以使用以下命令 −
σ salary > 20,000 ^LOC=HOD ^Deptno=20(emp)

