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

【SQL学习进阶】从入门到高级应用(三)

在这里插入图片描述

文章目录

  • ✨条件查询
    • ✨条件查询语法格式
    • ✨等于、不等于
      • ✨等于 =
      • ✨不等于 <> 或 !=
    • ✨大于、大于等于、小于、小于等于
      • ✨大于 >
      • ✨大于等于 >=
      • ✨小于 <
      • ✨小于等于 <=
    • ✨and
    • ✨or
    • ✨and和or的优先级问题
    • ✨between...and...

🌈你好呀!我是 山顶风景独好
💕欢迎来到我的博客,很高兴能够在这里和您见面!
💕希望您在这里可以感受到一份轻松愉快的氛围!
💕这里不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

🏠大家订阅本专栏!本专栏旨在为SQL初学者提供一条逐步迈向高级应用的学习之路,带您从零开始,一步一步练习,逐步掌握SQL的精髓,实现技能的提升与飞跃!😊

上一篇:【SQL学习进阶】从入门到高级应用(二)

✨条件查询


通常在进行查询操作的时候,都是查询符合某些条件的数据,很少将表中所有数据都取出来。怎么取出表的部分数据?需要在查询语句中添加条件进行数据的过滤。常见的过滤条件如下:

条件说明
=等于
<>或!=不等于
>=大于等于
<=小于等于
>大于
<小于
between…and…等同于 >= and <=
is null为空
is not null不为空
<=>安全等于(可读性差,很少使用了)。
and 或 &&并且
or 或 ||或者
in在指定的值当中
not in不在指定的值当中
exists
not exists
like模糊查询

✨条件查询语法格式


select ...
from...
where过滤条件;

过滤条件放在where子句当中,以上语句的执行顺序是:
第一步:先执行from
第二步:再通过where条件过滤
第三步:最后执行select,查询并将结果展示到控制台

✨等于、不等于


✨等于 =

判断等量关系,支持多种数据类型,比如:数字、字符串、日期等。
案例1:查询月薪3000的员工编号及姓名

select empno,ename
fromemp
wheresal = 3000;

image.png
案例2:查询员工FORD的岗位及月薪

selectjob, sal
fromemp
whereename = 'FORD';

image.png
存储在表emp中的员工姓名是FORD,全部大写,如果在查询的时候,写成全部小写会怎样呢?

selectjob, sal
fromemp
whereename = 'ford';

image.png

通过测试发现,即使写成小写ford,也是可以查询到结果的,不过这里需要注意的是:在Oracle数据库当中是查询不到数据的,Oracle的语法要比MySQL的语法严谨。对于SQL语句本身来说是不区分大小写的,但是对于表中真实存储的数据,大写A和小写a还是不一样的,这一点Oracle做的很好。MySQL的语法更随性。另外在Oracle当中,字符串是必须使用单引号括起来的,但在MySQL当中,字符串可以使用单引号,也可以使用双引号,如下:

selectjob, sal
fromemp
whereename = "FORD";

image.png
案例3:查询岗位是MANAGER的员工编号及姓名

selectempno, ename
fromemp
wherejob = 'MANAGER';

image.png

  • 任务:查询工资级别是1的最低工资以及最高工资

✨不等于 <> 或 !=

判断非等量关系,支持字符串、数字、日期类型等。不等号有两种写法,第一种<>,第二种!=,第二种写法和Java程序中的不等号相同,第一种写法比较诡异,不过也很好理解,比如<>3,表示小于3、大于3,就是不等于3。你get到了吗?
案例1:查询工资不是3000的员工编号、姓名、薪资

selectempno,ename,sal
fromemp
wheresal <> 3000;

image.png
案例2:查询工作岗位不是MANAGER的员工姓名和岗位

selectename,job
fromemp
wherejob <> 'MANAGER';

image.png

  • 任务:查询不在部门编号为10的部门工作的员工信息

✨大于、大于等于、小于、小于等于


✨大于 >

案例:找出薪资大于3000的员工姓名、薪资

select ename, sal
fromemp
wheresal > 3000;

image.png

✨大于等于 >=

案例:找出薪资大于等于3000的员工姓名、薪资

select ename, sal
fromemp
wheresal >= 3000;

image.png

✨小于 <

案例:找出薪资小于3000的员工姓名、薪资

select ename, sal
fromemp
wheresal < 3000;

image.png

✨小于等于 <=

案例:找出薪资小于等于3000的员工姓名、薪资

select ename, sal
fromemp
wheresal <= 3000;

image.png

✨and


and表示并且,还有另一种写法:&&
案例:找出薪资大于等于3000并且小于等于5000的员工姓名、薪资。

selectename,sal
fromemp
wheresal >= 3000 and sal <= 5000;

image.png
image.png

  • 任务:找出工资级别为2~4(包含2和4)的最低工资和最高工资。

✨or


or表示或者,还有另一种写法:||
案例:找出工作岗位是MANAGER和SALESMAN的员工姓名、工作岗位

select ename, job
fromemp
wherejob = 'MANAGER' or job = 'SALESMAN';

image.png
image.png

注意:这个题目描述中有这样一句话:MANAGER和SALESMAN,有的同学一看到“和”,就直接使用“and”了,因为“和”对应的英文单词是“and”,如果是这样的话,就大错特错了,因为and表示并且,使用and表示工作岗位既是MANAGER又是SALESMAN的员工,这样的员工是不存在的,因为每一个员工只有一个岗位,不可能同时从事两个岗位。所以使用and是查询不到任何结果的。如下

select ename, job
fromemp
wherejob = 'MANAGER' and job = 'SALESMAN';

image.png

  • 任务:查询20和30部门的员工信息。

✨and和or的优先级问题


and和or同时出现时,and优先级较高,会先执行,如果希望or先执行,这个时候需要给or条件添加小括号。另外,以后遇到不确定的优先级时,可以通过添加小括号的方式来解决。对于优先级问题没必要记忆。
案例:找出薪资小于1500,并且部门编号是20或30的员工姓名、薪资、部门编号。
先来看一下错误写法:

selectename,sal,deptno
fromemp
wheresal < 1500 and deptno = 20 or deptno = 30;

image.png
认真解读题意得知:薪资小于1500是一个大前提,要找出的是薪资小于1500的,满足这个条件的前提下,再找部门编号是20或30的,显然以上的运行结果中出现了薪资为1600的,为什么1600的会出现呢?这是因为“sal < 1500 and deptno = 20”结合在一起了,“depnto = 30”成了一个独立的条件。会导致部门编号为30的所有员工全部查询出来。我们应该让“deptno = 20 or deptno = 30”结合在一起,正确写法如下:

selectename,sal,deptno
fromemp
wheresal < 1500 and (deptno = 20 or deptno = 30);

image.png

  • 任务:找出薪资小于1500的,并且工作岗位是CLERK和SALESMAN的员工姓名、薪资、岗位。

✨between…and…


between…and…等同于 >= and <=
做区间判断的,包含左右两个边界值。
它支持数字、日期、字符串等数据类型。
between…and…在使用时一定是左小右大。左大右小时无法查询到数据。
between…and… 和 >= and <=只是在写法结构上有区别,执行原理和效率方面没有区别。
案例:找出薪资在1600到3000的员工姓名、薪资

select ename,sal
fromemp
wheresal between 1600 and 3000;

image.png
采用左大右小的方式:

select ename,sal
fromemp
wheresal between 3000 and 1600;

image.png
没有查询到任何数据,所以在使用的时候一定要注意:左小右大

  • 任务:查询在1982-01-23到1987-04-19之间入职的员工

image.png
注意:以上SQL语句中日期需要加上单引号。


✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 我在CSDN等你哦!我的主页😍

在这里插入图片描述

相关文章:

【SQL学习进阶】从入门到高级应用(三)

文章目录 ✨条件查询✨条件查询语法格式✨等于、不等于✨等于 ✨不等于 <> 或 ! ✨大于、大于等于、小于、小于等于✨大于 >✨大于等于 >✨小于 <✨小于等于 < ✨and✨or✨and和or的优先级问题✨between...and... &#x1f308;你好呀&#xff01;我是 山顶风…...

迷你手持小风扇哪个品牌续航强?五款强续航迷你手持小风扇推荐!

夏天就俩字儿&#xff1a;热和空调&#xff01;太阳大得让人想躲&#xff0c;一出汗&#xff0c;感觉全身毛孔都在喊“太热啦”&#xff01;这时空调简直是救命恩人啊&#xff0c;热得只想赖在屋里不出来。但出门总得面对大太阳&#xff0c;一出门就哗哗流汗。所以&#xff0c;…...

SpringBoot 微服务中怎么获取用户信息 token

SpringBoot 微服务中怎么获取用户信息 token 当我们写了一个A接口&#xff0c;这个接口需要调用B接口&#xff0c;但是B接口需要包含请求头内容&#xff0c;比如需要用户信息、用户id等内容&#xff0c;由于不在同一个线程中&#xff0c;使用ThreadLocal去获取数据是无法获取的…...

npm包-fflate

fflate 是一个快速、轻量级且纯JavaScript实现的压缩库&#xff0c;用于处理gzip、zlib和Deflate格式的数据压缩与解压缩。它专注于提供高性能的压缩算法实现&#xff0c;特别适合于浏览器环境及Node.js环境中使用&#xff0c;且不依赖任何外部库。fflate的优势在于其极小的体积…...

华为WLAN无线组网技术与解决方案

WLAN无线组网技术与解决方案 网络拓扑采用AP和AC旁挂式无线组网 配置思路&#xff1a; 1.让AP上线 1.1&#xff0c;使得AP能够获得IP地址 配置步骤&#xff1a; 1.把AC当作一个一个有管理功能的三层交换机 sys Enter system view, return user view with CtrlZ. [AC6605]vlan …...

闲鱼电商运营高级课程,一部手机学会闲鱼开店赚钱

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89360471 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 10-9、怎么寻找优质的货源店铺.mp4 11-10、怎么去选择商品图片.mp4 12-11、商品图片的注意避免事项.mp4 13-12、怎么写标题.mp4 …...

Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋

&#x1f989; AI新闻 &#x1f680; Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋 摘要&#xff1a;昨天&#xff0c;Yann LeCun 和Elon Musk 在社交媒体就人工智能的安全性和监管问题展开激烈辩论。LeCun 认为目前对 AI 的担忧和监管为时过早&#xff0c;主张开放和共享。而…...

C++重点基础知识汇总大全

文章目录 一些基础知识点指针和引用 一些基础知识点 1、十进制的数字比较长的时候&#xff0c;可以加方便阅读到底是几位&#xff0c;输出的时候跟不加是一样的效果 // 十进制可以加 cout << 13890324 << endl; // 13890324 // 二进制前加0b cout << 0b111…...

【Linux】线程安全及锁的使用

文章目录 前言一、锁1.定义一个锁变量2.pthread_mutex_init3.pthread_mutex_destroy4.pthread_mutex_lock/pthread_mutex_unlock5.静态变量锁和全局变量锁的初始化 二、问题描述及锁的运用三、RAII风格的锁 前言 临界资源: 在多个线程或进程间共享的资源. 临界区: 代码中访问临…...

深入解析绘图范式:面向对象与直接操作的较量

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 第一节&#xff1a;面向对象绘图的魅力 第二节&#xff1a;直接操作绘图模块的便捷性 第三…...

英特尔LLM技术挑战记录

英特尔技术介绍&#xff1a; Flash Attention Flash Attention 是一种高效的注意力机制实现&#xff0c;旨在优化大规模 Transformer 模型中的自注意力计算。在深度学习和自然语言处理领域&#xff0c;自注意力是 Transformer 架构的核心组件&#xff0c;用于模型中不同输入元…...

在 MFC 中 UNICODE 加 _T 与 L 长字符串,有什么区别?

在MFC&#xff08;Microsoft Foundation Classes&#xff09;和更广泛的Windows编程环境中&#xff0c;UNICODE宏用于指示程序应使用Unicode字符集&#xff08;通常是UTF-16&#xff09;来处理文本。当定义了UNICODE宏时&#xff0c;编译器和库函数会期待和处理宽字符&#xff…...

synopsys EDA 2016 合集 下载

包含如下安装包&#xff0c;如需安装服务也可联系我 FineSim_vL_2016.03 Laker201612 Library Compiler M-2016.12 Update Training PrimeTime M-2016.12 Update Training StarRC M-2016.12 Update Training SynopsysInstaller_v3.3 TSMC-65nm(OA) fm_vL-2016.03-SP1 fpga_vL-…...

CentOS 7如何使用systemctl管理应用

说明&#xff1a;本文介绍如何使用systemctl命令的方式来启动、查看、停止和重启应用&#xff0c;以安装后的prometheus、alertmanager为例&#xff1b; Step1&#xff1a;创建文件 在系统/etc/systemd/system/路径下&#xff0c;创建一个xxx.service文件&#xff0c;该文件内…...

武大深度学习期末复习-常见神经网络概念

深度学习经典神经网络概念、优缺点及应用场景 文章目录 一、多层感知机&#xff08;MLP&#xff09;1.1 结构和原理1.2 优缺点1.3 应用场景 二、卷积神经网络&#xff08;CNN&#xff09;2.1 结构和原理2.2 优缺点2.3 应用场景 三、循环神经网络&#xff08;RNN&#xff09;3.1…...

Leetcode3161. 物块放置查询(Go语言的红黑树 + 线段树)

题目截图 题目分析 每次1操作将会分裂成两块区间长度&#xff0c;以最近右端点记录左侧区间的长度即可 因此涉及到单点更新和区间查询 然后左右侧最近端点则使用redBlackTree&#xff0c;也就是python中的sortedlist ac code type seg []int// 把 i 处的值改成 val func (t …...

基于springboot实现医疗挂号管理系统项目【项目源码+论文说明】

基于springboot实现医疗挂号管理系统演示 摘要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&…...

ScrumMaster认证机构及CSM、PSM、RSM价值比较

企业现有的经营管理模式和传统的瀑布式交付模式&#xff0c;已经不能适应快速变化的市场响应和客户需求&#xff0c;现代的敏捷工作方式在过去数年涌现&#xff0c;比如Scrum&#xff0c;XP&#xff0c;看板&#xff0c;DevOps等敏捷方法&#xff0c;近十年Scrum在国内企业中备…...

加氢站压缩液驱比例泵放大器

加氢站压缩液驱液压系统的要求是实现换向和速度控制&#xff0c;对液压动力机构而言&#xff0c;按原理可区分为开式&#xff08;阀控&#xff09;- 节流控制系统和闭式&#xff08;泵控&#xff09;- 容积控制系统&#xff1a; 阀控系统 – 节流调速系统&#xff1a;由BEUEC比…...

MyBatis系统学习篇 - MyBatis逆向工程

MyBatis的逆向工程是指根据数据库表结构自动生成对应的Java实体类、Mapper接口和XML映射文件的过程。逆向工程可以帮助开发人员快速生成与数据库表对应的代码&#xff0c;减少手动编写重复代码的工作量。 我们在MyBatis中通过逆向工具来帮我简化繁琐的搭建框架&#xff0c;减少…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

作为点的对象CenterNet论文阅读

摘要 检测器将图像中的物体表示为轴对齐的边界框。大多数成功的目标检测方法都会枚举几乎完整的潜在目标位置列表&#xff0c;并对每一个位置进行分类。这种做法既浪费又低效&#xff0c;并且需要额外的后处理。在本文中&#xff0c;我们采取了不同的方法。我们将物体建模为单…...