SQL语句中的条件查询

2023-11-17

条件查询:
    * 什么是条件查询?不是将表中所有数据都查出来,而是查询出符合条件的。
        * 语法格式:
                    select
                           字段1,字段2,...
                    from
                           表名
                    where
                           条件;

        * 具体条件有:
      【=、<、<=、>=、>、!=或<>、between..and..、is null(is not null)、and、or、in(not in)】
    
    实例:
        [= 等于]
            查询薪资等于800的员工编号、姓名及薪资:
            select empno,ename,sal from emp where sal = 800;
            查询SMITH员工的编号及薪资:
            select empno,sal from emp where ename = 'SMITH';(字符串使用单引号括起来)

        [< 小于]
            查询薪资小于等于2000的员工编号、姓名及薪资:
            select empno,ename,sal from emp where sal < 2000;

        [<= 小于等于]
            在员工信息表中查询薪资小于等于3000的员工编号、姓名及薪资:
            select empno,ename,sal from emp where sal <= 3000;

        [> 大于]
            在员工信息表中查询薪资大于2500的员工编号、姓名及薪资:
            select empno,ename,sal from emp where sal > 2500;

        [>= 大于等于]
            在员工信息表中查询薪资大于等于3000的员工编号、姓名及薪资:
            select empno,ename,sal from emp where sal >= 3000;

        [<>或!= 不等于]
            在员工信息表中查询薪资不等于3000的员工编号、姓名及薪资:
            select empno,ename,sal from emp where sal != 3000;
            select empno,ename,sal from emp where sal <> 3000;

        [between..and..   等同于   >= and <=   两个值之间]
            查询薪资在2450到3000之间的员工编号、姓名和薪资:
            select empno,ename,sal from emp where sal >= 2450 and sal <= 3000;
            select empno,ename,sal from emp where sal between 2450 and 3000;

                注意:between..and.. 这个语句必须遵循左小右大
    
        [is null 为空(is not null  不为空)]

        关于MySQL中的null:
        在MySQL中null表示不确定的意思,表示一个不确定的值,这个值既然是不确定的,因此无法进行任何运算。

    查询哪些员工的津贴/补助为空(null):
    select empno,ename,sal,comm from emp where comm = null;(这是错误写法)
    select empno,ename,sal,comm from emp where comm is null;(这是正确写法)

    【注意:在数据库当中null不能使用等号进行衡量,需要使用is null。
          因为数据库中的null代表什么也没有,它不是一个值,所以不能使用等号衡量。】

    查询哪些员工的津贴/补助不为空(null)(null 和 0 是两回事)
    select empno,ename,sal,comm from emp where comm is not null;

    [and 并且]  
            查询工作岗位是MANAGE并且工资大于2500的员工信息:
            select empno,ename,job,sal from emp where job = 'MANAGER' and sal > 2500;

    [or 或者]
            查询工作岗位是MANAGE或者是SALESMAN的员工:
            select empno,ename,job from emp where job = 'MANAGER' or job = 'SALESMAN';

       注意:and 和 or 同时出现 ,有优先级的问题  (and 的优先级高于 or)
            查询工资大于2500并且部门编号为10或者20的所有员工:
            select * from emp where sal > 2500 and (deptno = 10 or deptno = 20);

    [in 包含,相当于多个or(not in 不在这个范围中)]    
            查询薪资是800或者薪资是5000的员工:(以下两种写法都行)
            select * from emp where sal = 800 or sal = 5000;
            select * from emp where sal in (800,5000);(这个表示的不是800~5000的区间,而是两个值。)

            查询工作岗位是MANAGER或者工作岗位是SALESMAN的员工:(下面两种写法都行)
            select * from emp where job = 'MANAGER' or job = 'SALESMAN';
            select * from emp where job in ('MANAGER','SALESMAN');

    [not in不是/不包括括号中的几个值]
            查询薪资不是800、3000、5000的所有员工:
            select * from emp where sal not in (800,3000,5000);


    【not 取反,主要用在 is 或 in 中;   比如:is null (是 null)---> is not null(不是 null)
                                in(包含) --------> not in(不包含)】

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL语句中的条件查询 的相关文章

  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • 错误代码:1305。函数或过程不存在

    因此 我在 MySQL 中创建一个函数 然后尝试向用户授予使用该函数的权限 但我无法这样做 这就是我正在做的 DELIMITER USE rxhelp36 scbn DROP FUNCTION IF EXISTS businessDayDi
  • 如何搜索例程的内容/(SP-触发函数)

    我需要在数据库内所有例程的例程主体 存储过程 函数 触发器 中搜索文本 我该怎么做 Thanks SELECT OBJECT NAME object id FROM sys sql modules WHERE definition LIKE
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 内置函数将每个单词的第一个字母大写

    如果 SQL Server 中已存在此类函数 我不想为此创建自定义函数 输入字符串 This is my string to convert预期输出 This Is My String To Convert SET ANSI NULLS O
  • 将庞大数据库从亚马逊RDS导出到本地mysql

    我在 Amazon RDS 上有一个 mysql 数据库 大约 600GB 数据 我需要将其移回本地专用服务器 但我不知道从哪里开始 每次我尝试初始化 sqldump 时它都会冻结 有没有办法将其移至 S3 甚至可能在开始下载之前将其分成更
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • MYSQL - 使用逗号分隔字符串作为变量输入的存储过程

    我希望有人能够提供帮助 我已经创建了我的第一个存储过程 没什么花哨的 但是我遇到了问题 我想给它一个字符串输入 例如 1 2 3 4 5 然后它执行一个简单的操作SELECT FROM TABLE WHERE EAN IN VAR 所以存储
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • 是否可以引用同一个表中的不同列?

    如果博客有一个 类别 表 如下所示 CREATE TABLE categories id INTEGER PRIMARY KEY AUTO INCREMENT parent id INTEGER NOT NULL name VARCHAR

随机推荐

  • Maven依赖仓库

    Maven依赖仓库
  • Linux的目录切换和用户管理

    切换目录 在使用linux系统的时候 会用cd来切换目录 cd 切换到根目录 cd 切换到主目录 cd 切换到之前工作目录 cd 虽然很方便但只能保存一次目录 pushd命令使用目录堆栈可以把多个目录存放起来 配套使用pushd popd
  • android实现共享数据

    计划是在后台开个service定位服务 前台需要经纬度的时候 从service获取 实现过程如下 public GPSService minTime UnTaskCheckingActivity minTime minDistance Un
  • mpc模型预测控制从原理到代码实现 mpc模型预测控制详细原理推导 matlab和c++两种编程实现

    mpc模型预测控制从原理到代码实现 mpc模型预测控制详细原理推导 matlab和c 两种编程实现 四个实际控制工程案例 双积分控制系统 倒立摆控制系统 车辆运动学跟踪控制系统 车辆动力学跟踪控制系统 包含上述所有的文档和代码 ID 564
  • 接口自动化平台(三):Promise简介 + 前端 + 后端 + 联调

    目录 1 Promise 2 接口自动化平台前端开发 2 1 前端环境搭建 2 2 新建用例页 CreateCase 2 2 1 增加路由信息 config routes ts 2 2 2 增加对应后端接口的信息 config proxy
  • 启动项

    size medium 1 imjpmig exe是微软Microsoft输入法编辑器程序 是微软Microsoft输入法编辑器程序 我给禁用了 每什么影响似乎 2 ctfmon exe是Microsoft Office产品套装的一部分 提
  • Docker运行MySQL5.7

    步骤如下 1 获取镜像 docker pull mysql 5 7 2 创建挂载目录 mkdir home mydata data mkdir home mydata log mkdir home mydata conf 3 先启动dock
  • FreeRTOS笔记(二)

    FreeRTOS笔记 二 静态任务 文章目录 FreeRTOS笔记 二 静态任务 一 任务定义 二 任务创建 2 1 定义任务栈 2 2 定义任务函数 2 3 定义任务控制块 2 4 实现任务创建函数 三 实现就绪列表 3 1 定义就绪列表
  • PCL去除地面

    如图所示 分别是 原图 gt 直通滤波后 gt 取地面的图 gt 取地面的凹凸四边行加地面上的物体图
  • C++初学知识点总结

    C 学习笔记 1 namespace 所谓的namespace就是指标识符的各种可见范围 C 标准程序中的所有标识符都被定义于一个名为std的namespace中 2 iostream与iostream h的差别 差别当然不只是一个带后缀
  • redis做计数器相关

    最近在准备晋升PPT 发现品牌粉丝数和新浪微博的计数本质一样 哎 之前就发现了 就是没深入 要深入啊 品牌粉丝数设计相关 a Redis在计数器场景上的应用 http www searchdatabase com cn showconten
  • Unity SpriteAtlas实战使用

    前言 图集计划使用sprite atlas 但是看了网上资料用于实战的有点少 自己总结下 Unity 版本2019 4 9f1 图集设置 Sprite Packer Mode Disabled 就是不会生成图集 Enable For Bui
  • 二叉树的先序,中序,后序遍历

    java 二叉树的先序 中序 后序遍历 一 前序遍历 访问顺序 先根节点 再左子树 最后右子树 上图的访问结果为 GDAFEMHZ 1 递归实现 public void preOrderTraverse1 TreeNode root if
  • 自动化测试与禅道工具

    目录 1 什么是自动化测试 2 自动化测试分类 1 单元测试 2 接口自动化测试
  • 经验:数据库中性别、状态、字典使用什么字段?

    结论 使用char类型 长度为1 0表示女 1表示男 char类型可以在java中转换成String 方便前端进行判断转换 而且方便在Java代码中进行转换 比如excel导出时使用 如 gender gender equals 1 男 女
  • 纯前端--原生js将html页面变成pdf文件(html2canvas+jsPDF)

    一 html2canvas 将dom变成图片 下载或者安装html2canvas 官网 1 将文档放在本地 用原生js进行引用和使用 新建一个名为 html2canvas min js 的文件 并且将线上的内容进行复制 引入 js 文件 j
  • java+ssm汽车维修管理系统

    项目介绍 java ssm汽车维修管理系统 java ssm汽车维修管理系统 技术和环境 技术 ssm html jq 环境 jdk1 7 mysql5 7 tomcat8 x idea eclipse 数据库表的数量 7张 是否为mave
  • element-ui实现多级checkbox关联选择(权限管理)

    1 依赖element ui 只是使用了el checkbox 可以很轻松替换掉 效果图
  • 告诉你外汇交易中心最有可能掉入的九个坑

    一 外汇真能赚钱吗 预期目标多少才算合理 玩外汇的人越来越多 大部分人都是奔着暴利去的 但是现实很残酷 这个市场95 的人都是亏钱的 努力多年都不一定能赚多钱 所以想入坑的人 如果没有足够的经济支撑 不要参与这个残酷的游戏 外汇的难度大于期
  • SQL语句中的条件查询

    条件查询 什么是条件查询 不是将表中所有数据都查出来 而是查询出符合条件的 语法格式 select 字段1 字段2 from 表名 where 条件 具体条件有 lt lt gt gt 或 lt gt between and is null