02_MySQL DQL_条件查询
#查询2:条件查询
/*
语法:
select
查询列表
from
表名
where
筛选条件;
执行顺序:找到表,逐行筛选,选出行的相关列呈现
分类:
1)按条件表达式筛选
条件运算符:> < = !=(<>也可以) >= <=
2)按逻辑表达式筛选
逻辑运算符:and or not(&& || !)
作用:连接条件表达式
&& and 两个条件都为true
|| or 两个条件任一为true
! not 取反
3) 模糊查询
like
between and
in
is null | is not null
*/
USE myemployees;
#一、按条件表达式筛选
#案例1:查询工资大于12000的员工信息
SELECT * FROM employees WHERE salary > 12000;
#案例2:查询部门编号不等于90的员工号和部门编号
SELECT employee_id,department_id FROM employees WHERE department_id != 90;
SELECT employee_id,department_id FROM employees WHERE department_id <>90;
#二、按逻辑表达式筛选
#案例1:查询工资在10000到20000之间的员工信息
SELECT last_name,salary,IFNULL(commission_pct,0) AS commission
FROM employees WHERE salary>=10000 AND salary<=20000;
#案例2:查询部门编号不在90~110之间,或者工资高于15000的员工信息
SELECT last_name,department_id,salary FROM employees
WHERE department_id<90 OR department_id>110 OR salary>15000;
#三、模糊查询
/*
like
一般和通配符配合使用
% 任意多个字符(0,1,无限多个)
_ 任意单个字符(1个)
between and
in
is null | is not null
*/
#like模糊查询
注意:MySQL5.5及以上的版本,也支持数值型的like查询
#案例1:查询员工名中包含字符a的员工信息(MySQL没有字符串的概念,都是字符)
# % 表示任意个数的任意字符
SELECT * FROM employees WHERE last_name LIKE '%a%';
#案例2:查询员工名中第三个字符为n, 第五个字符为l的员工名和工资
SELECT last_name,salary FROM employees WHERE last_name LIKE '__n_l%';
#案例3:查询员工名中第二个字符为_的员工名
#通配符转移为普通字符,\%, \_
SELECT last_name FROM employees WHERE last_name LIKE '_\_%';
#指定任意一个字符为转义字符
#escape '$' 指定$为转义字符
SELECT last_name FROM employees WHERE last_name LIKE '_$_%' ESCAPE '$';
#案例:数值型的like查询 (数值->字符->然后判断)
select * from employees where department_id like '1__';
#2、between and模糊查询
/*
提高语句简洁读
包含临界值
临界值不能颠倒顺序(等价于 >=左边,<=右边)
临界值要类型一致,或者能隐式转换
*/
#案例1:查询员工编号在100到200之间的员工信息
#between 100 and 200, 100和200包括在内
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 200;
#3、in 模糊查询
/*
含义:判断某字段的值,是否属于in列表中的某一项
in (v1,v2,v3,...)
特点:
1)比使用or,语句简洁度高
2)in列表的值类型必须统一,或者可以隐式转换
3)in列表的值,不支持通配符(like才能解析通配符)
*/
#案例1:查询工种是 IT_PROG, AD_VP, AD_PRES 其中任意一个的员工名和工种id
SELECT last_name,job_id FROM employees
WHERE
job_id='IT_PROT' OR job_id='AD_VP' OR job_id='AD_PRES';
SELECT last_name,job_id FROM employees
WHERE
job_id IN ('IT_PROT','AD_VP','AD_PRES');
#4、is null
/*
= 不能判断null值
is null 判断是否为null
is not null 判断是否为非null
*/
#案例1:查询没有奖金的员工名和奖金率(替换为0)
SELECT last_name, IFNULL(commission_pct,0) AS commission
FROM employees
WHERE commission_pct IS NULL;
#案例2:查询有奖金的员工名和奖金率
SELECT last_name, IFNULL(commission_pct,0) AS commission
FROM employees
WHERE commission_pct IS NOT NULL;
#5、安全等于 <=>
/*
<=> null, 可以判断是否为null值
<=> 普通值
*/
SELECT last_name,commission_pct FROM employees WHERE commission_pct <=> NULL;
SELECT last_name,salary FROM employees WHERE salary <=> 12000;
02_MySQL DQL_条件查询的更多相关文章
- jqGrid jqGrid分页参数+条件查询
HTML <div class="row"> <div class="col-sm-20"> <form id="for ...
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...
- Oracle学习总结_day03_day04_条件查询_排序_函数_子查询
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...
- [NHibernate]条件查询Criteria Query
目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...
- PHP-----练习-------租房子-----增删改查,多条件查询
练习-------租房子-----增删改查,多条件 一 .题目要求: 二 .做法: [1]建立数据库 [2]封装类文件------DBDA.class.php <?php class DBDA ...
- 【Java EE 学习 17 下】【数据库导出到Excel】【多条件查询方法】
一.导出到Excel 1.使用DatabaseMetaData分析数据库的数据结构和相关信息. (1)测试得到所有数据库名: private static DataSource ds=DataSour ...
- SpringMVC整合Hibernate实现增删改查之按条件查询
首先我贴出我项目的结构,只完成了条件查询的相关代码,增删改没有写. 1.新建一个动态Web工程,导入相应jar包,编写web.xml配置文件 <context-param> <par ...
- EasyUI ComboGrid的绑定,上下键和回车事件,输入条件查询
首先我们先看一下前台的绑定事件 1.先定义标签 <input id="cmbXm" type="text" style="width: 100p ...
- MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
随机推荐
- 一行代码让python的运行速度提高100倍
python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差. “一行代码让python的运行速度提高100倍”这绝不是哗众取宠的 ...
- Python高级教程-多重继承
多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类可以扩展父类的功能. Animal类的层次设计,假设要实现以下4中动物: Dog - 狗狗: Bat - 蝙蝠: Parrot - 鹦鹉 ...
- dos常用命令【总结】
win7下有很多有用的dos命令,现在总结如下: 延伸:Linux常用命令[总结] 命令 作用 其他 ping 检查和另一台主机的连通性 ping 127.0.0.1 telnet 检查连通性 ...
- JDB调试代码 20165324 何春江
Java书本程序调试: 课上程序调试
- 无法从U盘启动的解决方案
联想台式机无法从U盘启动的解决方案 F1进入lenovo bios 选择 StartUp 选项卡 1) 发现 USB FDD 已处于第一项,再把 USB Key 调到启动第二项 2) 把 boot m ...
- C#中获取音频文件时长
1.在项目中添加引入:COM组件的Microsoft Shell Controls And Automation 2.在引用中找到Shell32,点击右键,在属性中将“嵌入互操作类型”的值改为“fal ...
- Linux系统——本地定制化yum仓库部署
1)开启yum仓库配置文件 /etc/yum.conf的keepcache功能 (开启一个新的虚拟机) 将keepcache=0改为1,修改配置文件后重新清空缓存(1默认下载的安装包不删除,才可以实现 ...
- 使用LocationManager来获取移动设备所在的地理位置信息
在Android应用程序中,可以使用LocationManager来获取移动设备所在的地理位置信息.看如下实例:新建android应用程序TestLocation. 1.activity_main.x ...
- 189. Rotate Array(两次反转)
DescriptionHintsSubmissionsDiscussSolution Pick One Rotate an array of n elements to the right by ...
- HDU 4746 Mophues(莫比乌斯反演)
题意:求\(1\leq i \leq N,1\leq j \leq M,gcd(i,j)\)的质因子个于等于p的对数. 分析:加上了对质因子个数的限制. 设\(f(d):[gcd(i,j)=d]\) ...