# 进阶2:条件查询
/*
语法:
select 查询列表 from 表名 where 筛选条件;
分类:
一、按照条件表达式筛选
条件运算符:> < = !=(等价于<>) >= <= 二、按照逻辑表达式筛选
逻辑运算符:
作用:用于连接条件表达式
&& || !
and or not
&& 和 and:2个条件均为true,结果为true,反之为false
|| 和 or:只要一个为true,结果为true,反之为false
! 和 not:not true 为false 三、模糊查询
like
between and
in
is null / is not null
*/ # 一、按照条件表达式筛选
# 案例1:查询员工工资>12000的员工信息
select * from employees where salary>12000; #案例2:查询部门编号不等于90号的员工名和部门编号
select first_name,last_name,department_id from employees where department_id != 90; #二、按照逻辑表达式筛选
# 案例1:查询工资在10000到20000之间的员工名、工资和奖金
select first_name,last_name,salary,commission_pct from employees where 10000<=salary and salary<=20000; #案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息。
select * from employees where not (90<=department_id and manager_id<=110) or salary>15000; # 三、模糊查询
/* 1.like 和通配符搭配使用
通配符%:任意多个字符,包含0个字符
_: 任意单个字符
*/
# 案例1:查询员工名中包含字符a的员工信息
select * from employees where last_name like "%a%"; #案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资。
select first_name,last_name,salary from employees where last_name like "__n_l%"; #案例3:查询员工名中第二个字符为_的员工名(特殊字符需要转义)
select last_name from employees where last_name like "_\_%";
#这里你也可以自定义转义
select last_name from employees where last_name like "_$_%" escape "$"; #2.between and
/*
(1) 使用between and 可以提高语句的简洁度
(2) 包含临界值
(3) 等价于<= and <=
*/
#案例1:查询员工编号在100到120之间的员工信息
select * from employees where employee_id between 100 and 120;
select * from employees where 100<=employee_id and employee_id<=120; #3. in
/*
含义:判断某字段的值是否属于in列表中的某一项
特点:
(1)使用In提高语句简洁度
(2)in列表的值需要一致
(3)in等价于=
*/
# 案例:查询员工的工种编号是AD_PRES,AD_VP,IT_PROG的一个员工名和工种编号
select last_name,job_id from employees where job_id = 'AD_PRES' or job_id = 'AD_VP' or job_id = 'IT_PROG';
select last_name,job_id from employees where job_id in('AD_PRES','AD_VP','IT_PROG'); # 4.is null
/*
判断空值
*/
# 案例1:查询没有奖金的员工名和奖金率 (=无法判断null值)
select last_name,commission_pct from employees where commission_pct is null;
select last_name,commission_pct from employees where commission_pct is not null; #安全等于 <=>
# 案例1:查询没有奖金的员工名和奖金率 (=无法判断null值)
select last_name,commission_pct from employees where commission_pct <=> null;

  

SEC6 - MySQL 查询语句--------------进阶2:条件查询的更多相关文章

  1. php学习之sqlite查询语句之多条件查询

    一.PHP+Mysql多条件-多值查询示例代码: index.html代码:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio ...

  2. MySQL 查询语句--------------进阶7:子查询

    #进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或者内查询 外部的查询语句,称为主查询或外查询 分类: 按照子查询出现的位置: select后面:只支持标量子查询 fro ...

  3. MySQL数据库查询操作进阶——多表查询

    多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...

  4. Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终端打印SQL语句,脚本调试)

    Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终 ...

  5. 六、SQL语句进行多条件查询,并解决参数为空的情况

    一.SQL语句进行多条件查询,并解决参数为空的情况 QueryEntity query; var whereSql = new StringBuilder("Where 1=1") ...

  6. mongodb_查询操作使用_条件查询、where子句等(转)

    <?php /*  mongodb_查询操作使用_条件查询.where子句等(转并学习)   1.find()/findOne() mongodb数据库的查询操作即使用find()或者findO ...

  7. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

  8. MySQL 查询语句--------------进阶6:连接查询

    #进阶6:连接查询 /* 含义:多个表格连接,当查询的字段来自于多个表时候,就会用到连接查询 我觉得这里类似于excel中的vlookup函数 笛卡尔乘积现象:表1有m行,表2有n行,结果有m*n行 ...

  9. MySQL 查询语句--------------进阶5:分组查询

    #进阶5:分组查询 /* select 分组函数,列(要求出现在group by的后面) from 表 [where 筛选条件] group by 分组的列表 [order by 子句] 注意: 查询 ...

随机推荐

  1. AcWing 831. KMP字符串(模板)

    给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字. 模板串P在模式串S中多次作为子串出现. 求出模板串P在模式串S中所有出现的位置的起始下标. 输入格式 第一行输入整 ...

  2. DelayQueue详解

    一.DelayQueue是什么 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走.这种队列是有序的,即队头对 ...

  3. 处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外

    //处理键盘事件 禁止后退键(Backspace)密码或单行.多行文本框除外 function forbidBackSpace(e) { var ev = e || window.event; //获 ...

  4. JavaScript 模块化简析

    关于模块化,最直接的表现就是我们写的 require 和 import 关键字,如果查阅相关资料,就一定会遇到 CommonJS .CMD AMD 这些名词,以及 RequireJS.SeaJS 等陌 ...

  5. Git基本常用指令

    开发十年,就只剩下这套架构体系了! >>>   Git基本常用命令如下: mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目 ...

  6. 案例 element 表单名两端对齐

    >>> .el-form-item label:after { content: ""; display: inline-block; width: 100%; ...

  7. 图像函数 imagecreatetruecolor()和imagecreate()的异同点

    共同点:这两个函数都是用于创建画布 区别: 1.不同的是创建画布和为画布填充颜色的流程不一样; 用imagecreatetruecolor(int x,int y)创建的是一幅大小为 x和 y的图像( ...

  8. jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作)

    JQuery下锚点的平滑跳转 对于锚点的平滑跳转,在一般的商业性质的网站上,权衡来说,要谨慎使用. 例如:让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,关键位置 如下: $( ...

  9. JavaScript中的垃圾收集机制

     JavaScript 具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存. 在编写 JavaScript 程序时,开发人员不用再关心内存使用问题,所需内存的分配以及无用内存的 ...

  10. 03机器学习实战之决策树scikit-learn实现

    sklearn.tree.DecisionTreeClassifier 基于 scikit-learn 的决策树分类模型 DecisionTreeClassifier 进行的分类运算 http://s ...