条件查询

 #进阶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. Struts2中Action类的三种写法

      一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创 ...

  2. hdu4857 拓扑排序

    题目大意: 糟糕的事情发生啦,现在大家都忙着逃命.但是逃命的通道很窄,大家只能排成一行. 现在有n个人,从1标号到n.同时有一些奇怪的约束条件,每个都形如:a必须在b之前. 同时,社会是不平等的,这些 ...

  3. java的BigDecimal比较大小

    java的BigDecimal比较大小 //前提为a.b均不能为null if(a.compareTo(b) == -1){ System.out.println("a小于b"); ...

  4. 【leetcode】940. Distinct Subsequences II

    题目如下: Given a string S, count the number of distinct, non-empty subsequences of S . Since the result ...

  5. 纯js的右下角弹窗

    <html> <head> <title></title> <meta charset="UTF-8"> <scr ...

  6. Centos MySQL 5.7安装、升级教程

    MySQL 5.7安装.升级笔记分享: 卸载当前的 MySQL 查看当前 MySQL 版本: ? 1 2 [root@coderknock ~]# mysql -V mysql Ver 14.14 D ...

  7. MAT内存分析

    先下载 http://www.eclipse.org/mat/downloads.php 配置环境参数 分析一个堆转储文件需要消耗很多的堆空间,为了保证分析的效率和性能,在有条件的情况下,建议分配给 ...

  8. POJ 2955 Brackets (区间dp入门)

    Description We give the following inductive definition of a “regular brackets” sequence: the empty s ...

  9. 自己封装 vue 组件 和 插件

    vue 组件 一.组件的创建,两种方法.(本质上是1.2两种,vue文件,只是创建了一个  组件选项对象,仅是一个js对象)1.定义组件:Vue.component('button-counter', ...

  10. Docker Machine 管理-管理machine(17)

    用 docker-machine 创建 machine 的过程很简洁,非常适合多主机环境.除此之外,Docker Machine 也提供了一些子命令方便对 machine 进行管理.其中最常用的就是无 ...