烦烦的SQL学习笔记(2)---条件查询

记录下学习sql的笔记,以后便于查阅哦~加油加油烦烦

目录

记录下学习sql的笔记,以后便于查阅哦~加油加油烦烦

错误tips:

1、条件查询

(1)条件运算符

(2)逻辑表达式

(3)模糊查询


错误tips:

1、注意逗号的中英文区别!

2、注意空格,别瞎空格。

3、也不要随便打逗号。

4、英文不要打错了。。

1、条件查询

语法:select 查询列表 from 表名 where 筛选条件

分类:

1、按条件表达式筛选 : 条件运算符:<, >, =, !=,<> (不等于)

2、按逻辑表达式筛选:逻辑运算符:& | ! and or not

3、模糊查询: like,between and, in, is null

(1)条件运算符

#案例一:查询工资>12000的员工信息
USE myemployees
SELECT * FROM employees 
WHERE salary>12000;

#案例二:查询部门编号不等于90号的员工号和部门编号
SELECT last_name, department_id
FROM employees
WHERE department_id<>90;

(2)逻辑表达式

USE myemployees

#二、按照逻辑表达式筛选
#案例一:查询工资在10000-20000之间的员工名、工资和奖金
SELECT last_name, salary, commission_pct
FROM employees
WHERE salary>=10000 AND salary<=20000;

#案例二、查询部门编号不是在90到110之间,或则工资高于15000的员工信息
SELECT *
FROM employees
WHERE department_id<90 OR department_id>110 OR salary>15000
#或者 where not(department_id>=90 and department_id<=110) or salary>15000

(3)模糊查询

i. like:
特点: 一般和通配符搭配使用
%:任意多个字符,包含0个字符
_: 任意单个字符

三、模糊查询

#案例一:查询员工名中包含字符a的员工信息
/*like:
特点:
1. 一般和通配符搭配使用
%:任意多个字符,包含0个字符
_: 任意单个字符
*/

#案例一:查询员工名中包含字符a的员工信息
SELECT *
FROM employees
WHERE last_name LIKE '%a%'
# 感叹号%代表任意字符,字符引起来要用单引号

#案例二:查询员工名中第三个字符为e,第五个字符为a的员工名和工资
SELECT last_name, salary
FROM employees
WHERE last_name LIKE '__n_l%';

#案例三:查询员工名总第二个字符中为_的员工名
SELECT last_name 
FROM employees
WHERE last_name LIKE '_$_%' ESCAPE '$' 
# 可用下划线\以及转义的方式如上,其中$可用任何abc的字符来替代
WHERE last_name LIKE '_\_%';

ii.   between and
#提升简洁度,包含临界值,两个临界值不能调换顺序

不在xxx到xxx之间,可以用 WHERE xxx NOT BETWEEN xxx AND xxx

#案例1: 查询员工编号在100到120之间的员工信息
SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 120
#也可where employee_id>=100 and employee_id <=120;

iii. in

含义:判断某字段的值是否属于in列表总的某一项
特点:1.使用in比较简洁
      2.in列表中的值类型比较一致兼容
      3.in列表中不支持通配符

#案例:查询员工种编号IT_PROG、AD_VP、AD_PRES中的一个员工名和编号
SELECT last_name, job_id
FROM employees
WHERE job_id IN( 'IT_PROG', 'AD_VP', 'AD_PRES');

iiii. is null/ is not null

=或<>不能判断
要用is null 或者is not null

#案例:查询没有奖金的员工名和奖金率
SELECT last_name, `commission_pct`
FROM `employees`
WHERE commission_pct IS NOT NULL;

#补充 安全等于<=>

s null: 仅仅可以判断null值,可读性较高  推荐!
<=>: 既可以判断null值,有可以判断普通的数值,可读性较低

SELECT last_name, `commission_pct`
FROM `employees`
WHERE commission_pct <=> NULL;

#案例二:查询工资为12000的员工信息
SELECT `last_name`, salary
FROM `employees`
WHERE salary <=>12000;

案例:

#案例:查询员工号为170的员工姓名和部门号和年薪
SELECT last_name, department_id, salary*12*(1+IFNULL(`commission_pct`,0)) AS '年薪'
FROM employees
WHERE `job_id`=170;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值