博客
关于我
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 数据库操作指南:学习如何使用 Python 进行增删改查操作
查看>>
MySQL 数据库的高可用性分析
查看>>
MySQL 数据库设计总结
查看>>
Mysql 数据库重置ID排序
查看>>
Mysql 数据类型一日期
查看>>
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>