博客
关于我
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/

你可能感兴趣的文章
Netty工作笔记0065---WebSocket长连接开发4
查看>>
Netty工作笔记0066---Netty核心模块内容梳理
查看>>
Netty工作笔记0068---Protobuf机制简述
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0071---Protobuf传输多种类型
查看>>
Netty工作笔记0072---Protobuf内容小结
查看>>
Netty工作笔记0073---Neety的出站和入站机制
查看>>
Netty工作笔记0074---handler链调用机制实例1
查看>>
Netty工作笔记0075---handler链调用机制实例1
查看>>
Netty工作笔记0076---handler链调用机制实例3
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0078---Netty其他常用编解码器
查看>>
Netty工作笔记0079---Log4j整合到Netty
查看>>
Netty工作笔记0080---编解码器和处理器链梳理
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0082---TCP粘包拆包实例演示
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>