08. MySQL学习 ----DQL之条件查询

语法
/*
语法:
	select 查询列表 
	from 表名 
	where 过滤条件
	从表中查询出符合过滤条件的行中的查询列表
*/
具体案例
USE myemployees;
#条件查询

/*
语法:
	条件均写道where子句中
	select 查询列表 
	from 表名 
	where 过滤条件
	从表中查询出符合过滤条件的行中的查询列表
1. 条件 操作符
	 = 
	 <> , !=
	 <
	 <=
	 >
	 >=
	 
			模糊查询 操作符
			like
			between and
			in
			is null
	 
2. 逻辑 操作符
	 与 and
	 或 or
	 非 not
*/

#条件 操作符
SELECT * FROM employees WHERE salary >12000;
SELECT * FROM employees WHERE department_id <> 90;

#逻辑 操作符
SELECT * FROM employees WHERE salary > 9000 AND salary <12000;
SELECT * FROM employees WHERE NOT(department_id >=90 AND department_id <=110) OR salary > 15000;


/*
1. like
	 a默认去部分大小写
	 和通配符一起使用
			 %;表示0---多个字符
			 _:表示1个字符
			 
		转义: WHERE last_name like '%$_%' ESCAPE '$';其中用escape关键字设定转义字符。
*/
SELECT * FROM employees WHERE last_name LIKE '%a%';
SELECT * FROM employees WHERE last_name LIKE '__n_l%';
/*
2. between and
*/
SELECT * FROM employees WHERE employee_id>=100 AND employee_id<=120;
#等价于
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 120; 

/*
3. in
	 用于判断某字段的值是否属于in列表中的某一项
*/
SELECT * FROM employees WHERE job_id = 'IT_PORT' OR job_id = 'AD_VP' OR job_id = 'AD_PRES';
#等价于
SELECT * FROM employees WHERE job_id IN ('IT_PORT', 'AD_VP', 'AD_PRES');

/*
4. is null / is not null
*/
SELECT * FROM employees WHERE commission_pct is null;

#面试题
/*
这两条SQL命令是否返回相同的结果?
		返回不同的结果;
		原因:commission_pct 字段中包含null,null不是字符串,不能用通配符表示。
*/
SELECT * FROM employees;
SELECT * FROM employees WHERE commission_pct LIKE '%%' AND last_name LIKE '%%';


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值