更多SQL Sever基础知识查看SQL Sever 基础知识(全)

特别说明
  本文章所用的所有数据库数据表及其数据皆为AI随机生成,不涉及个人隐私,且仅供学习使用

四、筛选数据

第1节 DISTINCT – 去除重复

SELECT DISTINCT 子句检索指定列表中的唯一重复值。

1.1 SELECT DISTINCT 子句简介

SELECT DISTINCT 子句语法

SELECT DISTINCT <列名>
FROM <表名>

Note
查询返回指定列中的非重复值,即从结果集中删除列中的重复值。
查询使用 SELECT 列表中所有指定列的值的组合评估唯一性。
③ 将 DISTINCT 子句应用于具有NULL的列,则 DISTINCT 子句将仅保留一个NULL并消除一个, DISTINCT 子句将所有NULL“值”视为相同的值。

1.2 SELECT DISTINCT 示例

1.2.1 DISTINCT 一列示例

查询CustomerInfo表中客户所在省份

 select distinct Province
 from CustomerInfo
 order by Province

执行结果
在这里插入图片描述

1.2.2 DISTINCT 多列示例

查询CustomerInfo表中客户所在省份城市

 select distinct Province,City
 from CustomerInfo
 order by Province

执行结果
在这里插入图片描述

1.2.3 DISTINCT 具有 null示例

1.2.4 DISTINCT 与 GROUP BY 对比

查询CustomerInfo表中客户所在省份城市分组查询):

 select Province,City
 from CustomerInfo
 group by Province,City
 order by Province,City

执行结果
在这里插入图片描述
前面使用DISTINCT对比结果相同,相当于以下使用 DISTINCT 运算符的查询。
DISTINCTGROUP BY 子句都通过删除重复项来减少结果集中返回行数。但是,如果要对一个多个应用聚合函数,则应使用 GROUP BY 子句。

第2节 WHERE – 过滤查询返回的行

根据一个多个条件筛选查询输出中的行。

2.1 WHERE 子句简介

使用 SELECT 语句查询一个表的数据时,会获得该表的所有行,这不一定必要,有时候可能处理一组。要从表中获取满足一个多个条件的行组,可使用where子句,语法如下所示

 select <列名1&gt;,<列名2&gt;,...
 from []
 where <条件&gt;

以上语法
① 在 WHERE 子句中,指定搜索条件以筛选由 FROM 子句返回的行。 WHERE 子句仅返回导致搜索条件计算为 TRUE 的行。
② 搜索条件是逻辑表达式多个逻辑表达式的组合。在SQL中,逻辑表达式通常称为谓词。
③ 请注意,SQL Server使用三值谓词逻辑,其中逻辑表达式的计算结果可以TRUEFALSEUNKNOWN 。 WHERE 子句不会返回任何导致谓词计算为 FALSEUNKNOWN 的行。

2.2 WHERE 子句示例

2.2.1 使用简单等式查找

查询CustomerInfo表中已签收的所有顾客信息

 select *
 from CustomerInfo
 where Status = '已签收'

执行结果:
在这里插入图片描述

2.2.2 查找满足两个条件的行

查询CustomerInfo表中广东省已签收的所有顾客信息

 select *
 from CustomerInfo
 where Status = '已签收' and Province = '广东省'

执行结果:
在这里插入图片描述

2.2.3 使用比较运算符查找

查询CustomerInfo表中已签收且年龄大于30岁的所有顾客信息:

 select *
 from CustomerInfo
 where Status = '已签收' and Age &gt; 30

执行结果:
在这里插入图片描述

2.2.4 查找满足两个条件之一的行

查询CustomerInfo表中是湖北或者北京地区的所有顾客信息:

 select *
 from CustomerInfo
 where Province = '湖北省' or Province = '北京市'

执行结果:
在这里插入图片描述
OR 关键字:满足条件之一的任何数据包含在结果集中

2.2.4 查找值在两个之间的行
2.2.4.1 使用betweenand关键字

查询年龄在30到35岁之间女性用户信息:

 select *
 from CustomerInfo
 where Age between 30 and 35 and Gender = 'Female'

执行结果:
在这里插入图片描述

2.2.4.2 使用判断

查询年龄在30到35岁之间女性用户信息:

 select *
 from CustomerInfo
 where  Age >= 30 and Age <= 35 and Gender = 'Female'

执行结果:
在这里插入图片描述

2.2.5 在值列表中查找具有值的行

查询在湖北、湖南和北京地区的客户信息“

 select *
 from CustomerInfo
 where  Province in ('湖北省','湖南省','北京市')

执行结果:
在这里插入图片描述

2.2.6 查找值包含字符串的行 – 模糊查询

查找‘刘’姓客户的所有信息:

 select *
 from CustomerInfo
 where  CusName like'刘%'

执行结果:
在这里插入图片描述

原文地址:https://blog.csdn.net/emmmheng/article/details/134696340

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_45950.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注