博客
关于我
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 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 通过查看mysql 配置参数、状态来优化你的mysql
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
查看>>
MySQL 错误
查看>>
mysql 随机数 rand使用
查看>>
MySQL 面试题汇总
查看>>