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

摄影网站模板源码/公司推广方案

摄影网站模板源码,公司推广方案,htmlcss做旅游网站,做基本的网站05.数据过滤-查询条件大家好,我是营长,本周新专栏又开始了,小伙伴别忘记打卡学习。本期专栏邀请的是董旭阳老师(资深数据库架构师)为我们分享《SQL从入门到精通》专栏。S Q L通过查询条件实现数据过滤上一篇我们介绍…

05.

数据过滤-查询条件

大家好,我是营长,本周新专栏又开始了,小伙伴别忘记打卡学习。

本期专栏邀请的是董旭阳老师(资深数据库架构师)为我们分享《SQL从入门到精通》专栏。

S  Q  L

通过查询条件实现数据过滤

上一篇我们介绍了基本的查询语句,学习了如何使用 SELECT 和 FROM 查询表中的数据。

不过,在实际应用中通常并不需要返回表中的全部数据,而只需要找出满足某些条件的结果。比如,某个部门中的员工或者某个产品最近几天的销售情况。在 SQL 中,可以通过查询条件实现数据的过滤。

查询条件

在 SQL 语句中,使用关键字 WHERE 指定查询的过滤条件。以下语句只返回姓名为“刘备”的员工信息:

SELECT *FROM employeeWHERE emp_name = '刘备';

其中,WHERE 位于 FROM 之后,用于指定一个或者多个过滤条件;只有满足条件的数据才会返回,其他数据将被忽略。该语句执行的结果如下:

在 SQL 中,WHERE 子句也被称为谓词(Predicate)。

这种通过查询条件过滤数据的操作在关系运算中被称为选择(Selection)。它是针对表进行的水平选择,保留满足条件的行用于生成新的表。以下是选择操作的示意图:

在查询条件中,使用最多的就是数据的比较运算。

比较运算符

比较运算符可以比较两个数值的大小,包括字符、数字以及日期类型的数据。下表列出了 SQL 中的各种比较运算符:

运算符

描述

示例

=

等于

WHERE emp_id = 1

!= 或者 <>

不等于

WHERE sex != '男'

>

大于

WHERE salary > 10000

>=

大于等于

WHERE hire_date >= DATE '2018-01-01'

<

小于

WHERE bonus < 15000

<=

小于等于

WHERE dept_id <= 2

BETWEEN

位于范围之内

WHERE salary BETWEEN 10000 AND 15000

IN

属于列表之中

WHERE emp_name IN ('刘备', '关羽', '张飞')

Oracle 中 ^= 运算符也表示不等于。

这些运算符的作用都比较好理解。我们来看一个日期数据的比较操作,假设想要知道哪些员工在 2018 年 1 月 1 日之后入职,可以使用以下查询:

-- 适用于 Oracle、MySQL 以及 PostgreSQL
SELECT emp_name, hire_dateFROM employeeWHERE hire_date >= DATE '2018-01-01';

其中,DATE '2018-01-01'定义了一个日期类型的常量值。对于 SQL Server,指定日期时可以直接使用字符串字面值表示:

-- 适用于 SQL Server、MySQL 以及 PostgreSQL
SELECT emp_name, hire_dateFROM employeeWHERE hire_date >= '2018-01-01';

以上两个查询语句的结果如下:

除了我们常见的比较运算符之外,SQL 还提供了两个特殊的比较运算符:BETWEEN 和 IN。

BETWEEN 运算符

如果想要查找一个范围内的数据,可以使用 BETWEEN 运算符。以下示例查询月薪位于 10000 到 15000 之间的员工:

SELECT emp_name, salaryFROM employeeWHERE salary BETWEEN 10000 AND 15000;

该语句的结果如下:

需要注意的是,BETWEEN 包含了两端的值(10000 和 15000)。

IN 运算符

IN 运算符可以用于查找列表中的值。以下示例查询姓名为“刘备”、“关羽”或者“张飞”的员工:

SELECT emp_id, emp_nameFROM employeeWHERE emp_name IN ('刘备', '关羽', '张飞');

该查询的结果如下:

只要匹配列表中的任何一个值,都会返回结果。IN 运算符还有一个常见的用途就是子查询的结果匹配,我们将会在第 15 篇中进行介绍。

空值判断

空值(NULL)是 SQL 中的一个特殊值,代表了缺失或者未知的数据。与其他编程语言(例如 Java)不同,SQL 中判断一个值是否为空不能使用等于或者不等于。例如,以下查询尝试找出没有上级领导(manager 字段为空)的员工:

-- 空值判断的错误示例
SELECT emp_name, managerFROM employeeWHERE manager = NULL;

该语句没有返回任何结果,但确实存在这样的数据。这个错误的原因在于将一个值与一个未知的值进行数学比较,结果仍然未知;即使是将两个空值进行比较,结果也是未知。以下运算的结果均为未知,用于查询条件的话不会返回任何结果:

NULL = 5;
NULL = NULL;
NULL != NULL;

那么,如何判断某个值是否为空值呢?在 SQL 中需要使用两个特殊的运算符:

expression IS NULL;
expression IS NOT NULL;

如果表达式 expression 的值为空,IS NULL 返回真,IS NOT NULL 返回假;如果表达式的值不为空,IS NULL 返回假,IS NOT NULL 返回真。因此,查找没有上级领导的员工应该使用以下语句:

SELECT emp_name, managerFROM employeeWHERE manager IS NULL;
emp_name|manager|
--------|-------|
刘备 |[NULL] |

“刘备”是公司的最高领导,他没有上级领导。

如果仅仅能够指定单个过滤条件,就无法满足复杂的查询需求;为此,SQL 引入了用于构建复杂条件的逻辑运算符。

今日内容有get吗,欢迎各位留言讨论!

下期预告:通过查询条件实现数据过滤(完结篇)

以上专栏均来自CSDN GitChat专栏《SQL从入门到精通》,作者董旭阳,专栏详情可识别下方二维码查看哦!

了解更多详情

可识别下方二维码

http://www.lbrq.cn/news/1402867.html

相关文章:

  • 北京住房和城乡建设部网站官网/软文大全
  • 珠宝商城网站设计/网站seo优化发布高质量外链
  • 做浏览单的网站有哪些/免费com域名注册永久
  • 政府网站建设怎么谈需求/营销型网站有哪些平台
  • 网站建设有哪些企业/推手平台哪个靠谱
  • 中国装修第一网/企业网站优化服务公司
  • 江苏省建筑工程网/兰州seo快速优化报价
  • 响应式门户网站/关联词有哪些五年级
  • 做商城网站需要办理什么/国外seo比较好的博客网站
  • 小兵cms个人网站模板/seo发包软件
  • 37岁转行做外贸真的很难吗/seo优化专员工作内容
  • 网站/陕西网站建设制作
  • 个人网页制作免费下载/河南网站建设优化技术
  • 正能量网站入口免费安全/营销网站优化推广
  • 做快递网站制作/如何推广网址链接
  • 衍艺武汉网站设计公司/百度推广员工工资怎么样
  • 做宣传册参考的网站/陕西省人民政府
  • 东海建设局网站/丈哥seo博客
  • 十堰哪里有做网站的/广州:推动优化防控措施落地
  • 商业网站网页/品牌广告视频
  • 哈尔滨市建设厅网站/百度百度一下你就知道主页
  • 蒲县网站建设/360公司官网首页
  • 网站开发工程师职位要求/百度seo推广计划类型包含
  • 网站建设工作 方案/关键词排名网络推广
  • 盘锦公司做网站/廊坊百度快照优化
  • 网站开发周期价格/网站搜索排名靠前
  • 域名不变 新网站/网络推广招聘
  • 北京互联网网站建设/站优云网络公司
  • wordpress flashfxp/福州短视频seo获客
  • 免费咨询聊天/seo站点是什么意思
  • HTTP/1.1 与 HTTP/2 全面对比:性能革命的深度解析
  • 实时视频技术选型深度解析:RTSP、RTMP 与 WebRTC 的边界
  • Ubuntu-安装Epics Archiver Appliance教程
  • Linux网络服务(一)——计算机网络参考模型与子网划分
  • 普通用户使用docker命令
  • 模拟实现 useEffect 功能