关系代数中的选择运算用于从关系中选取满足特定条件的元组。例如,要查询所有选修过课程的学生学号,可以使用选择运算筛选出 SC 关系中所有非空的 Sno 属性值。
在某些情况下,查询结果可能包含重复的元组。例如,如果一个学生选修了多门课程,那么在查询所有选修过课程的学生学号时,该学生的学号就会出现多次。为了消除重复行,可以使用 DISTINCT 关键字。
以下示例展示了如何使用 SQL 语句查询所有选修过课程的学生学号,并消除重复结果:
SELECT DISTINCT Sno
FROM SC;
关系 SC:
| Sno | Cno | Grade |
| ----- | --- | ----- |
| 07001 | 1 | 92 |
| 07001 | 2 | 85 |
| 07001 | 3 | 88 |
| 07002 | 2 | 80 |
| 07002 | 3 | 80 |
查询结果:
| Sno |
| ----- |
| 07001 |
| 07002 |