📜  MS SQL Server 中的 Distinct 子句

📅  最后修改于: 2021-09-09 11:37:52             🧑  作者: Mango

在本文中,我们将讨论 MS SQL Server 中的 distinct 子句。

介绍 :

  1. 一个表最多由 1000 行构成。
  2. 在 SQL 术语中称为重复行的重复行的概率可能会出现在表中。
  3. 在 SQL Server 中,distinct 是用于从表中删除重复项的术语。

基本语法:

select distinct
select_list
from
table_name 

例子 :

示例表 – 学生

Roll number Name Course
111 Riya CSE
112 Apoorva ECE
113 Mina Mech
114 Rita Biotechnology
115 Veena Chemical
116 Deepa EEE

要删除重复项,必须按如下方式编写查询:

select distinct
roll number, name, course
from student 

输出将如下 –

Roll number Name Course
111 Riya CSE
112 Apoorva ECE
113 Mina Mech
114 Rita Biotechnology
115 Veena Chemical
116 Deepa EEE

由于没有重复,因此返回相同数量的行。让我们看一个有重复的例子。

Roll number Name Course
111 Riya CSE
112 Apoorva ECE
113 Mina Mech
114 Rita Biotechnology
115 Veena Chemical
116 Deepa EEE
111 Riya CSE

查询应写为 –

select distinct
roll number, name, course
from student 

输出是 –

Roll number Name Course
111 Riya CSE
112 Apoorva ECE
113 Mina Mech
114 Rita Biotechnology
115 Veena Chemical
116 Deepa EEE

有一个名为 Riya 的重复项,但通过使用 distinct 删除了重复项。

考虑另一个空值示例。

Roll number Name Course
111 Riya CSE
112 Apoorva ECE
113 Mina Mech
114 Rita Biotechnology
115 Veena Chemical
116

请注意,在 Deepa 的情况下,名称和课程为空,因此查询写为 –

select distinct 
name, roll number, course 
from student 

输出如下——

Roll number Name Course
111 Riya CSE
112 Apoorva ECE
113 Mina Mech
114 Rita Biotechnology
115 Veena Chemical
116 Null


在空值的情况下,distinct 会删除所有其他空值并仅恢复一个空值,如输出中所示。