博客
关于我
mysql之条件查询06
阅读量:226 次
发布时间:2019-03-01

本文共 2414 字,大约阅读时间需要 8 分钟。

1 条件查询

对于比较简单的语句,这里不再列出结果,大家可以自行测试结果。

#进阶2:条件查询/*语法:	select 		查询列表	from		表名	where		筛选条件;分类:	一、按条件表达式筛选	简单条件运算符:> < = !=同<>一样 >= <=		二、按逻辑表达式筛选	逻辑运算符:	作用:用于连接条件表达式		即&& || !或者and or not		三、模糊查询		like		between and		in		is null	*/#一、按条件表达式筛选#案例1:查询工资>12000的员工信息SELECT 	*FROM	employeesWHERE	salary>12000;	#案例2:查询部门编号不等于90号的员工名和部门编号SELECT 	last_name,	department_idFROM	employeesWHERE	department_id<>90;#二、按逻辑表达式筛选#案例1:查询工资z在10000到20000之间的员工名、工资以及奖金SELECT	last_name,	salary,	commission_pctFROM	employeesWHERE	salary>=10000 AND salary<=20000;	#案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息SELECT	*FROM	employeesWHERE	NOT(department_id>=90 AND  department_id<=110) OR salary>15000;	#三、模糊查询/*likebetween andinis null | is not null*/#1.like/*特点:①一般和通配符搭配使用	通配符:	% 任意多个字符,包含0个字符	_ 任意单个字符*/#案例1:查询员工名中包含字符a的员工信息select 	*from	employeeswhere	last_name like '%a%';#abc	#案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资select	last_name,	salaryFROM	employeesWHERE	last_name LIKE '__n_l%';#案例3:查询员工名中第二个字符为_的员工名SELECT	last_nameFROM	employeesWHERE	last_name LIKE '_$_%' ESCAPE '$';#ESCAPE为声明一个字符为转义,或者可以直接使用last_name LIKE '_\_%';斜杠转义	#2.between and/*①使用between and 可以提高语句的简洁度②包含临界值③两个临界值不要调换顺序*/#案例1:查询员工编号在100到120之间的员工信息SELECT	*FROM	employeesWHERE	employee_id >= 120 AND employee_id<=100;#----------------------SELECT	*FROM	employeesWHERE	employee_id BETWEEN 120 AND 100;#3.in/*含义:判断某字段的值是否属于in列表中的某一项特点:	①使用in提高语句简洁度	②in列表的值类型必须一致或兼容	③in列表中不支持通配符*/#案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号方法1:SELECT	last_name,	job_idFROM	employeesWHERE	job_id = 'IT_PROT' OR job_id = 'AD_VP' OR JOB_ID ='AD_PRES';方法2:SELECT	last_name,	job_idFROM	employeesWHERE	job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');#4、is null/*=或<>不能用于判断null值is null或is not null 可以判断null值*/#案例1:查询没有奖金的员工名和奖金率SELECT	last_name,	commission_pctFROM	employeesWHERE	commission_pct IS NULL;	#IS NOT NULL;可以判断有奖金率的员工#----------以下语句为错误SELECT	last_name,	commission_pctFROM	employeesWHERE 	salary IS 12000;#error,不能这样使用,IS NULL是一个组合#----------截止	#但可以使用<=>安全等于,与IS NULL相等,总之就是不能直接使用=号判断NULL值#案例1:查询没有奖金的员工名和奖金率SELECT	last_name,	commission_pctFROM	employeesWHERE	commission_pct <=> NULL;		#案例2:查询工资为12000的员工信息SELECT	last_name,	salaryFROM	employeesWHERE 	salary <=> 12000;	#is null 与 <=>的区别IS NULL:仅仅可以判断NULL值,可读性较高,建议使用<=>    :既可以判断NULL值,又可以判断普通的数值,可读性较低5 条件查询案例查询员工号为176的员工的姓名和部门号和年薪SELECT		last_name,		department_id,		salary*12*(1+IFNULL(commission_pct,0)) AS 年薪		#年薪计法可以加奖金率也可不加,看公司具体要求FROM		employees;

转载地址:http://qtfv.baihongyu.com/

你可能感兴趣的文章
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>