在本文中,我们将讨论MS SQL Server中的distingle子句。
介绍 :
- 一个表最多可构成1000行。
- 该表中可能会出现重复行的可能性,否则该重复行在SQL术语中被称为重复项。
- 在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 |
如果为空值,distant将删除所有其他空值,并仅恢复一个空值,如输出所示。