当前位置: 首页 > news >正文

SQL Sever 基础知识 - 数据筛选(1)

SQL Sever 基础知识 - 四、数据筛选

  • 四、筛选数据
    • 第1节 DISTINCT - 去除重复值
      • 1.1 SELECT DISTINCT 子句简介
      • 1.2 SELECT DISTINCT 示例
        • 1.2.1 DISTINCT 一列示例
        • 1.2.2 DISTINCT 多列示例
      • 1.2.3 DISTINCT 具有 null 值示例
      • 1.2.4 DISTINCT 与 GROUP BY 对比
    • 第2节 WHERE - 过滤查询返回的行
      • 2.1 WHERE 子句简介
      • 2.2 WHERE 子句示例
        • 2.2.1 使用简单等式查找行
        • 2.2.2 查找满足两个条件的行
        • 2.2.3 使用比较运算符查找行
        • 2.2.4 查找满足两个条件之一的行
        • 2.2.4 查找值在两个值之间的行
          • 2.2.4.1 使用between...and...关键字
          • 2.2.4.2 使用判断符
        • 2.2.5 在值列表中查找具有值的行
        • 2.2.6 查找值包含字符串的行 - 模糊查询

更多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 Provincefrom CustomerInfoorder by Province

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

1.2.2 DISTINCT 多列示例

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

 select distinct Province,Cityfrom CustomerInfoorder by Province

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

1.2.3 DISTINCT 具有 null 值示例

1.2.4 DISTINCT 与 GROUP BY 对比

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

 select Province,Cityfrom CustomerInfogroup by Province,Cityorder by Province,City

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

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

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

2.1 WHERE 子句简介

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

 select <列名1>,<列名2>,...from []where <条件>

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

2.2 WHERE 子句示例

2.2.1 使用简单等式查找行

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

 select *from CustomerInfowhere Status = '已签收'

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

2.2.2 查找满足两个条件的行

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

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

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

2.2.3 使用比较运算符查找行

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

 select *from CustomerInfowhere Status = '已签收' and Age > 30

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

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

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

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

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

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

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

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

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

2.2.4.2 使用判断符

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

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

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

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

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

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

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

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

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

 select *from CustomerInfowhere  CusName like'刘%'

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

相关文章:

SQL Sever 基础知识 - 数据筛选(1)

SQL Sever 基础知识 - 四、数据筛选 四、筛选数据第1节 DISTINCT - 去除重复值1.1 SELECT DISTINCT 子句简介1.2 SELECT DISTINCT 示例1.2.1 DISTINCT 一列示例1.2.2 DISTINCT 多列示例 1.2.3 DISTINCT 具有 null 值示例1.2.4 DISTINCT 与 GROUP BY 对比 第2节 WHERE - 过滤查询…...

2024 Move 中文开发者大会将于1月13–14日在上海举办

*以下文章来源于MoveFuns &#xff0c;作者MoveFunsDAO 2024 Move 中文开发者大会将于1月13日-1月14日在上海举办。本届 Move 开发者大会以 “Move 生态关键的一年” 为主题。 由 MoveFuns 、OpenBuild 和 MoveBit 主办&#xff0c;Rooch、AptosGlobal、alcove、zkMove 和 Ti…...

基于PHP的在线日语学习平台

有需要请加文章底部Q哦 可远程调试 PHP在线日语学习平台 一 介绍 此日语学习平台基于原生PHP开发&#xff0c;数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 3 查看课程…...

解决element ui tree组件不产生横向滚动条

结果是这样的 需要在tree的外层&#xff0c;包一个父组件 <div class"tree"><el-tree :data"treeData" show-checkbox default-expand-all></el-tree></div> 在css里面这样写,样式穿透按自己使用的css编译器以及框架要求就好 &l…...

mysql的InnoDB存储引擎

详情请参考&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html InnoDB 是一个通用目的的存储引擎&#xff0c;它在高可用性、高性能方面做了平衡。MySQL 8.0&#xff0c;InnoDB 是默认的存储引擎。在创建表的时候&#xff0c;如果没有使用ENGIN…...

MCU 的 TOP 15 图形GUI库:选择最适合你的图形用户界面(二)

在嵌入式系统开发中&#xff0c;选择一个合适的图形用户界面&#xff08;GUI&#xff09;库是至关重要的。在屏幕上显示的时候&#xff0c;使用现成的图形库&#xff0c;这样开发人员就不需要弄清楚底层任务&#xff0c;例如如何绘制像素、线条、形状&#xff0c;如果再高级一点…...

软件工程 单选多选补充 复刻

原文 软件的主要特性&#xff1a;无形、高成本、包括程序和文档 软件工程三要素&#xff1a;方法、工具、过程 螺旋模型包含风险分析 软件工程的主要目标&#xff1a;风险分析 面向对象开发&#xff1a;Booch、UML、Coad、OMT 软件危机的主要表现&#xff1a;软件成本太高…...

微前端个人理解与简单总结

最近一段时间在学习微前端&#xff0c;一开始是看各种博客了解微前端含义、对比多种微前端框架优劣&#xff0c;最后选择了qiankun、micro-app、wujie这三种微前端框架进行深入研究、对比。 微前端框架 推出时间 官方文档易读性 社区讨论活跃度 配置难度 Qiankun&#xff…...

PC端企业微信hook协议开发,获取要群发的客户群id

产品说明 一、 hook版本&#xff1a;企业微信hook接口是指将企业微信的功能封装成dll&#xff0c;并提供简易的接口给程序调用。通过hook技术&#xff0c;可以在不修改企业微信客户端源代码的情况下&#xff0c;实现对企业微信客户端的功能进行扩展和定制化。企业微信hook接口…...

RabbitMQ安装说明

注意: 本次安装以 CentOS 7为例 1、 准备软件 erlang 18.3 1.el7.centos.x86_64.rpm socat 1.7.3.2 5.el7.lux.x86_64.rpm rabbitmq server 3.6.5 1.noarch.rpm 2、安装Erlang rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 3.、安装RabbitMQ 安装 rpm -ivh socat-1.7.3.2-…...

scrapy的建模及管道的使用

一、数据建模 通常在做项目的过程中&#xff0c;在items.py中进行数据建模 为什么建模 定义item即提前规划好哪些字段需要抓&#xff0c;防止手误&#xff0c;因为定义好之后&#xff0c;在运行过程中&#xff0c;系统会自动检查&#xff0c;配合注释一起可以清晰的知道要抓…...

Hadoop学习笔记(HDP)-Part.04 基础环境配置

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

【Linux】进程控制--进程创建/进程终止/进程等待/进程程序替换/简易shell实现

文章目录 一、进程创建1.fork函数2.fork函数返回值3.写时拷贝4.fork常规用法5.fork调用失败的原因 二、进程终止1.进程退出码2.进程退出场景3.进程常见退出方法 三、进程等待1.为什么要进行进程等待2.如何进行进程等待1.wait方法2.waitpid方法3.获取子进程status4.进程的阻塞等…...

用pip更新、安装python的包

查看pip的版本&#xff1a;python -m pip --version 例如&#xff0c;查看下pip的版本&#xff0c;在cmd下输入命令python -m pip --version&#xff0c;可以发现当前安装的pip的版本是23.2.1&#xff1a; 查看一个包的详情&#xff1a;python -m pip show 例如&#xff0c…...

spring boot 事件机制

目录 概述实践监听spring boot ready事件代码 源码初始化流程调用流程 结束 概述 spring boot 版本为 2.7.17 。 整体看一下spring及spring boot 相关事件。 根据下文所给的源码关键处&#xff0c;打上断点&#xff0c;可以进行快速调试。降低源码阅读难度。 实践 spring…...

分布式版本管理系统---->Git(Linux---centos(保姆式)讲解1)

文章目录: 1:什么是Git以及作用 2.Git的基本操作过程(创建git仓库,配置仓库的配置) 3.git的工作区&#xff0c;暂存区&#xff0c;版本库的关系 4.将文件添加到版本库&#xff1a;git add 与git commit -m命令 5.git log查看日志的引入 6.查看.git文件中的内容 7.修改文件内容查…...

B树你需要了解一下

介绍B树的度数主要特点应用场景时间复杂度代码示例拓展 介绍 B树&#xff08;B-tree&#xff09;是一种自平衡的树&#xff0c;能够保持数据有序&#xff0c;常被用于数据库和文件系统的实现。 B树可以看作是一般化的二叉查找树&#xff0c;它允许拥有多于2个子节点。与自平衡…...

MFC设置状态栏文本导致崩溃的原因

文章目录 问题和原因解决办法1.消息机制2.定时器问题和原因 本人在类A使用多线程执行操作并且调用了类B的设置状态栏文本的函数,导致崩溃 类A void A::distribute_n_start_msg(){((B*)m_parent)->received_msg_n_start...

配置typroa上传图片到gitee

一、gitee相关配置 到gitee官网创建一个新的仓库并获取其token gitee配置时候一定要新建仓库之后初始化好仓库 比如&#xff1a;创建出README.md文档 出现master这个显示界面&#xff0c;刚开始未初始化的时候是会报错的 二、typora相关配置 在typora这个位置下载插件 在p…...

java并发-线程生命周期

文章目录 前言状态图状态变化说明补充说明 前言 线程的生命周期指的是线程从创建出来到最终消亡的整个过程&#xff0c;以及过程中的状态变化。 状态图 以下图用mermaid语法绘制&#xff1a; #mermaid-svg-32vKT6KmFdlYvCnr {font-family:"trebuchet ms",verdana,…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...