条件查询

 #进阶2:条件查询
/* 语法:
select
查询列表③
from
表名①
where
条件筛选② 分类:
一、按条件表达式筛选
条件运算符:> < = != <> >= <= 二、按逻辑表达式筛选
漏记运算符:
&& || !
and or not
&&和and:两个条件都为true,结果为true,反之为false
||和or: 只要有一个条件为true,结果为true,反之为false
!或not: 如果连接的条件本身为false,结果为true,反之为false 三、模糊查询
like
between and
in
is null
*/
#一、按条件表达式筛选
#案例1:查询 工资>12000的员工信息
/*
select
*
from
employees
where
salary > 12000; #案例2:查询部门编码不等于90号的员工名和部门编号
select
last_name,
department_id
from
employees
where department_id != 90;
*/
#二、按逻辑表达式搜索
#案例1:查询工资在10000和20000之间的员工名、工资以及奖金
SELECT
last_name,
salary,
commission_pet
FROM
employees
WHERE
salary>=10000 AND salary<=20000; #案例2:查询部门编号不是在90和110之间的员工信息
SELECT
*
FROM
employees
WHERE
NOT(department_id>=90 AND department_id<=110) OR salary>15000; #三、模糊查询
/*
like
特点:
①一般和通配符发配使用
通配符:
%任意多个字符,包含0个字符
_任意单个字符

between and
in
is null|is not null */
#1.like #案例1:查询员工名中包含字符a的员工信息
SELECT
*
FROM
employees
WHERE
last_name LIKE '%a%'; #abc #案例2:查询员工名中第三字符为e,第五个字符为a的员工名和工资
SELECT
last_name,salary
FROM
employees
WHERE
last_name LIKE '_n__l%'; #案例3:查询员工名中第二个字符为_的
SELECT
last_name
FROM
employees
WHERE last_name LIKE '_\_%';
#where last_name like '_$_%' escape '$';
#2.btween and
/*
①使用between and可以提高语句的简洁渡
②包含临界值
③两个临界值(不要调换顺讯)
*/
#案例1:查询员工编号在100到120之间的与员工信息
SELECT
*
FROM
employees
WHERE employees_id >= 100
AND employ_id <= 120;
#----------------------------------
SELECT
*
FROM
employees
WHERE employee_id BETWEEN 100
AND 120; #3.in
/*
含义:判断某字段的值是否属于in列表中的某一项
特点:
①使用in提高语句简洁度
②in列表的值类型必须一致或者兼容
③in不支持通配符,等价于=
*/
#案例:查询员工的工种编号是IT_PROG、AD_VP、AD_FRES中的一个员工名和工种编号
SELECT
last_name,
job_id
FROM
employees
WHERE job_id = 'IT_PROT' OR job_id = 'AD_VP' OR job_id = 'AD_FRES';
#------------------------------------
SELECT
last_name,
job_id
FROM
employees
WHERE job_id = IN('IT_PROT','AD_VP','AD_FRES'); #4.is null
/*
=或<>不能用于判断null值
is null或is not null可以判断null值
*/
#案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pet
FROM
employees
WHERE commission_pet IS NULL;
#--------------------------
#案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pet
FROM
employees
WHERE commission_pet IS NOT NULL;
#--------以下为错误----------
SELECT
last_name,
commission_pet
FROM
employees
WHERE
salary IS 12000; #安全等于 <=>
#案例1:查询没有奖金的员工名和奖金率
SELECT
last_name,
commission_pet
FROM
employees
WHERE commission_pet <=> NULL; #案例2:查询工资为12000的员工信息
SELECT
last_name,
commission_pet
FROM
employees
WHERE salary <=> 12000; #is null pk <=>
IS NULL:仅仅可以判断null值,可读性较高,建议使用
<=> :既可以判断NULL值,又可以判断普通的数值,可读性较低

小结

Mysql学习笔记(004)- 条件查询的更多相关文章

  1. mysql学习笔记-- 多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  2. mysql学习笔记11_12(查询)

    1.建表和插入值 创建company数据库 创建 department表 create table department(d_id int(10) primary key not null uniqu ...

  3. MySql学习笔记(一)之DQL常用查询

    MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前, ...

  4. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  5. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  6. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  7. MySQL学习笔记-数据库文件

    数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...

  8. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...

  9. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  10. MySql学习笔记四

    MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...

随机推荐

  1. 深入理解TCP协议及其源代码

    本次实验,我们来探究connect及bind.listen.accept背后的三次握手. 实验原理 首先简要回顾一下TCP三次握手的过程: 第一次握手:client向server发送SYN=1的数据报 ...

  2. 创建者模式-Builder

    创建者模式使用多个简单的对象一步一步构建成一个复杂的对象.它提供了一种创建对象的最佳方式.一个 Builder 类会一步一步构造最终的对象,该 Builder 类是独立于其他对象的. 一.类图 创建者 ...

  3. JVM内存模型及GC回收算法

    该篇博客主要对JVM内存模型以及GC回收算法以自己的理解和认识做以记录. 内存模型 GC垃圾回收 1.内存模型 从上图可以看出,JVM分为 方法区,虚拟机栈,本地方法栈,堆,计数器 5个区域.其中最为 ...

  4. 适配器模式Adapter

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11401410.html 1. 定义将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接 ...

  5. Delphi ini文件结构简介

    一.INI文件的结构:; 注释[小节名]关键字=值 INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的值. 值的类型有三种:字符串.整型数值和布尔值.其中字符串存贮在INI ...

  6. AI加持的阿里云飞天大数据平台技术揭秘

    摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...

  7. 一些idea

    二分答案似乎和最小生成树有着不可描述的奇怪关系.(滑稽 联赛级别的在矩形上乱搞的题无非几个思路(按出现概率排序):建图,二维前缀和,dp 涉及到求合法区间数的问题往往要用到桶.等差数列等思想,或者尝试 ...

  8. QTP学习笔记1

    1.将变量值写入datatable/ 从datatable中取值赋给变量 DataTable("列名","sheet名") = 变量名 变量名 = DataTa ...

  9. linux 安装memcache

    cd /usr/local/src  #进入软件包存放目录wget http://pecl.php.net/get/memcache-2.2.6.tgz  #下载tar zxvf memcache-2 ...

  10. HDU4578-Transformation-线段树的加、乘、变、次方操作

    Sample Input 5 5 3 3 5 7 1 2 4 4 4 1 5 2 2 2 5 8 4 3 5 3 0 0 Sample Output 307 7489 题意:给出n,m,表示该数有n个 ...