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 ...
随机推荐
- Windows 下配置 php_imagick 扩展
1.首先按装 imageimagick 可以去 http://imagemagick.org/script/binary-releases.php#windows 这里下载,看好自己的系统环境和选择好 ...
- EasyUI 的常见标签
1. Resizable 属性 原理: 页面加载完毕后,EasyUI主文件会扫描页面上的每个标签,判断这些标签的class值是否以"easyui-"开头, 如果是,则拿到之后的部分 ...
- 【opencv】c++ 读取图片 & 绘制点 & 绘制文字 & 保存图片
//read pic ]; sprintf(path, "%s%d/%s", image_dir.c_str(), cam_num, filename.c_str()); cv:: ...
- SAP Idoc 事务码
SALE Display ALE Customizing SM59 RFC Destinations (Display/Maintain) BD64 Maintenance of Distributi ...
- linux ipc/its
linux进程间双向消息队列 server.c #include <stdio.h> #include <stdlib.h> #include <string.h> ...
- HBase存储架构
以下的介绍是基于Apache Hbase 0.94版本: 从HBase的架构图上可以看出,HBase中的存储包括HMaster.HRegionServer.HRegion.Store.MemStore ...
- .globl分析
Uboot中常看到.globl .globl _start _start: b reset .align .globl _TEXT_BASE _TEXT_BASE: .globl _start /* ...
- 基于.net core2.1开发遇到的问题记录以及解决方案
问题1:升级EFCore 到2.1一直报'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFac ...
- jenkins SSH登录 Git配置(通过eclipse生成SSH 密钥)
1.通过eclipse生成SSH 密钥 菜单栏的windows-->preferences-->General-->Network Connections-->SSH2--&g ...
- Android ExpandableListActivity
======MainActivity.java===================================== package com.zys.myexpandablelistactivit ...