条件查询

 #进阶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. java23种设计模式(一)-- 工厂模式、抽象工厂模式和单例模式

    一.工厂模式 1.定义统一的接口,并在接口中定义要实现的抽象方法. 2.创建接口的具体实现类,并实现抽象方法. 3.创建一个工厂类,根据传递的参数,生成具体的实现类对象,执行具体的方法. 优点: 1. ...

  2. springboot解决跨域

    @Configuration public class WebMvcConfiguration implements WebMvcConfigurer { @Bean public CorsFilte ...

  3. 安装JDK,并检测JDK是否安装成功

    方法/步骤   首先,我们需要先安装好我们的JDK软件,安装好之后,我们需要对我们的电脑进行环境变量配置的设置,这样我们安装的JDK才能真正起到作用.   第一步:我们需要将光标放在“计算机”上面,然 ...

  4. Quartz.Net 任务调度之传递参数(2)

    1.jobDetail //添加 //Key:Value jobDetail.JobDataMap.Add("张翼德", "张翼德"); jobDetail.J ...

  5. CSS分组和嵌套选择器

    CSS 分组 和 嵌套 选择器 分组选择器 在样式表中有很多具有相同样式的元素.直线模组哪家好 h1 {     color:green; } h2 {     color:green; } p { ...

  6. 【Flutter学习】基本组件之基本滑动PageView组件

    一,概述 PageView 是一个滑动视图列表,它也是继承至 CustomScrollView 的. 二,构造函数 类命构造函数(PageView) PageView 使用场景:创建一个可滚动列表 构 ...

  7. 基于jquery和bootstrap的下拉框左右选择功能

    实现如图选择的功能,可以用基于bootstrap的样式,结合jquery事件: <div class="row"> <div class="col-xs ...

  8. context和getApplicationContext()的区别

    在android中常常会遇到与context有关的内容 浅论一下 context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder ...

  9. 74、Salesforce的String的format方法

    String placehodler = 'Hello {0} , {1} is cool!'; List<String> fillers = new String[]{'Jason',' ...

  10. Tomcat负载均衡、调优核心应用进阶学习笔记(一):tomcat文件目录、页面、架构组件详解、tomcat运行方式、组件介绍、tomcat管理

    文章目录 tomcat文件目录 bin conf lib logs temp webapps work 页面 架构组件详解 tomcat运行方式 组件介绍 tomcat管理 tomcat文件目录 ➜ ...