Mysql学习笔记(004)- 条件查询
条件查询
#进阶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)- 条件查询的更多相关文章
- mysql学习笔记-- 多表查询之外键、表连接、子查询、索引
本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...
- mysql学习笔记11_12(查询)
1.建表和插入值 创建company数据库 创建 department表 create table department(d_id int(10) primary key not null uniqu ...
- MySql学习笔记(一)之DQL常用查询
MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前, ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
随机推荐
- Cascade R-CNN目标检测
成功的因素: 1.级联而非并联检测器 2.提升iou阈值训练级联检测器的同时不带来负面影响 核心思想: 区分正负样本的阈值u取值影响较大,加大iou阈值直观感受是可以增加准确率的,但是实际上不是,因为 ...
- tp框架连接数据库配置及Model数据模型层
在config.php做数据库连接配置 <?php return array( //'配置项'=>'配置值' 'SHOW_PAGE_TRACE'=>true, /* 数据库设置 */ ...
- PHP chdir() 函数
实例 改变当前的目录: <?php// Get current directoryecho getcwd() . "<br>"; // Change direct ...
- UNP学习第五章(二)
一.POSIX信号处理 信号:告知某进程发生了某个事件的通知(软中断),通常是异步的. 信号可以:由进程发给另一个进程,由内核发给某个进程. 设置信号处理办法,有三个选择: 1.写一个函数,在信号发生 ...
- 区间第k大的几种解法
区间第K大问题,变化包括带修改和不带修改,强制在线和允许离线 修改主要是单点修改,我们前面也只讨论这种情况. 接下来我们从编程复杂度和时空复杂度来讨论几种做法. 1.整体二分(编程复杂度:低-中,时间 ...
- 【Dart学习】--Dart之字符串(String)的相关方法总结
字符串定义使用单引号或双引号 String a = "abcdefg"; String b = '; 创建多行字符串,保留内在格式使用三个单引号或三个双引号 创建多行字符串,保留内 ...
- redis配置文件详解-3
redis3.0以上配置文件 #################################INCLUDES ################################### include ...
- python 反转列表的3种方式
转载自:https://blog.csdn.net/bookaswine/article/details/42468735 方式一:使用reversed()函数 a=[1,2,3,4,5,6,7,8, ...
- webstorm 去点右边白线
file>settings>editor>general>appearance>show right margin(configured in code style oo ...
- Python Numpy 矩阵级基本操作(2)
1.开方与求e指数 import numpy as np from numpy.matlib import randn print "Test sqrt and exp" arr ...