MySQL学习笔记(三)——条件查询

MySQL学习笔记(三)——条件查询

语法

SELECT
	查询列表#第三步
FROM
	表名#第一步
WHERE
	筛选条件;#第二步

分类

一、按条件表达式筛选
 条件运算符:> < = != <> >= <=
二、按逻辑表达式筛选
 逻辑运算符:&& || !
       and or not
   作用:用于连接条件表达式
   &&和and:两个条件都为true,结果为true,反之为false
   ||和or:只要有一个条件为true,结果为true,反之为false
   !或not:如果连接的条件本身为false,结果为true,反之为false
三、模糊查询
 like
 between and
 in
 is null | is not null

一、按条件表达式查询

案例一:查询工资>12000的员工信息

SELECT
		*
FROM
		employees
WHERE
		salary>12000;

案例二:查询部门编号不等于90号的员工名称和部门编号

SELECT
		last_name,
		department_id
FROM
		employees
WHERE
		department_id!=90;#或department_id<>90;

二、按逻辑表达式筛选

案例一:查询工资z在10000到20000之间的员工名、工资以及奖金

SELECT
		last_name,
		salary,
		commission_pct
FROM
		employees
WHERE
		salary>=10000
AND
		salary<=20000;

案例二:查询部门编号不是在90到110之间,或者工资高于15000的员工信息

SELECT
		*
FROM
		employees
WHERE
		depatment_id<90 OR department_id>110 OR salary>15000;#或NOT(department_id>=90 AND department_id<=110) OR salary>15000;

三、模糊查询

like

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

SELECT
		*
FROM
		employees
WHERE
		last_name LIKE '%a%';#%代表着任意个字符

案例二:查询员工名中第三个字符为e,第五个字符为a的员工名和工资

SELECT
		last_name,
		salary
FROM
		employees
WHERE
		last_name LIKE '__e_a%';		

案例三(特殊):查询员工名中第二个字符为_的员工名

SELECT
		last_name
FROM
		employees
WHERE
		last_name LIKE '_\_%';#'\'为转义符或可以自己定义一个转义符,如last_name LIKE '_$_%' ESCAPE '$';
between and

注意事项:
  1、使用between and 可以提高语句的简介度
  2、包含临界值
  3、两个临界值不要调换顺序
案例一:查询员工编号在100到120之间的员工信息

SELECT
		*
FROM
		employees
WHERE
		employee_id BETWEEN 100 AND 200;
in关键字

含义:判断某字段的值是否属于in列表中的某一项
特点:
  1.使用in提高语句简洁度
  2.in列表的值类型必须一致或兼容,如‘123’和123
案例:查询员工的工种编号是 IT_PROT、AD_VP、AD_PRES中的一个员工名和工种编号

SELECT
		last_name,
		job_id
FROM
		employees
WHERE
		job_id IN('IT_PROT','AD_VP','AD_PRES');
is null

注意事项:=或<>不能用于判断null值
     is null或is not null可以判断null值
案例一:查询没有奖金的员工名和奖金率

SELECT 
		last_name,
		commission_pct
FROM
		employees
WHERE
		commission_pct IS NULL;
安全等于<=>

安全等于可以判断null值,也可以判断普通类型的值
案例一:查询没有奖金的员工名和奖金率

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

案例二:查询工资为12000的员工信息

SELECT
		last_name,
		salary
FROM
		employees
WHERE
		salary <=> 12000;
is null 和 <=>比较

IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
<=>:既可以判断NULL值,又可以判断普通的数值,可读性较低

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值