学习目标
- 使用DISTINCT消除重复,仅提取唯一记录
- 使用子查询返回数据,作为进一步限制要检索的条件
DISTINCT
DISTINCT关键字与SELECT语句一起使用,用来消除重复,并仅提取唯一记录。
当记录集中有多个重复记录时,更有意义的是仅提取唯一记录,而不是看到重复数据,此时可以使用DISTINCT进行处理。
语法
以下是DISTINCT关键字的基本语法,用于删除重复记录。
SELECT DISTINCT 列1, 列2,.....
FROM 表名
WHERE 条件
例如,查询学生表中一共出现了哪些民族的同学,对应T-SQL如下:
SELECT DISTINCT nation
FROM students
查询结果

注意:DISTINCT不会过滤掉NULL值,返回结果包含NULL值
子查询
子查询是一个嵌套在 SELECT、INSERT、UPDATE 或 DELETE 语句或其他子查询中的查询。即如果需要在一个查询结果集基础上进行增删改,或者进一步的查询就需要用到子查询。
子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择。
- 外部查询:查询结果集返回给调用者
- 内部查询:查询结果集返回给外部查询。
独立子查询
独立子查询(不相关子查询)是指独立于其外部查询的子查询,可以单独运行子查询。
执行顺序
独立子查询在执行外部查询之前先执行一次,接着外部查询再使用子查询的结果继续进行查询。
独立标量子查询
独立标量子查询是返回单个值的子查询。标量子查询可以出现在外部查询中期望使用单个值的任何地方。例如,查询教师最多的院系。
查询过程

本文详细讲解了如何在SQL查询中使用DISTINCT去除重复记录,以及子查询的独立和相关应用,包括标量子查询、多值子查询和EXISTS/NOT EXISTS技巧。通过实例演示了如何结合DISTINCT和子查询解决实际问题,提高数据查询效率。
最低0.47元/天 解锁文章
3141

被折叠的 条评论
为什么被折叠?



