天天看点

MySQL入门 DQL语言之二:条件查询MySQL入门 DQL语言之二:条件查询

MySQL入门 DQL语言之二:条件查询

#2.条件查询

#一、按条件表达式筛选

#案例1.查询工资>12000的员工信息

SELECT 

  * 

FROM

  employees 

WHERE salary > 12000 ;

#查询部门编号不等于90号的员工名和部门编号

SELECT 

  last_name,

  department_id 

FROM

  employees 

WHERE department_id <> 90 ; #货值用 !=

#二、按逻辑表达式筛选

#案例1:按查询工资在10000到20000之间的员工名,工资以及奖金

SELECT 

  last_name,

  salary,

  commission_pct 

FROM

  employees 

WHERE salary >= 10000 AND salary <= 20000 

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

SELECT 

FROM

employees 

WHERE department_id NOT department_id => 90 

AND department_id <= 110 

OR salary > 15000 ;

#三、模糊查询

#1.like

#案例1:查询员工名字中包含字符A的员工信息

SELECT 

  * 

FROM

  employees 

WHERE last_name LIKE '%a%' 

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

SELECT 

  last_name,

  salary 

FROM

  employees 

WHERE last_name LIKE '__e_a%'

#案例3:查询员工名中第二个字符为_的员工名

 SELECT 

  last_name

FROM

  employees 

WHERE last_name LIKE '_$_%' ESCAPE '$';

#需要使用转义符 LIKE '_\_%'

#可以指定转义符号 ESCAPE '$';

#2.between and

#案例1:查询员工编号在100在120之间的员工信息

SELECT 

  * 

FROM

  employees 

WHERE employee_id BETWEEN 100 AND 120;

#3.in

#案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中一个员工名和工种编号

SELECT 

  last_name,

  job_id 

FROM

  employees 

WHERE job_id IN('T_PROG','AD_VP','AD_PRES');

#4. is null

#案例1:查询没有奖金的员工名和奖金率

SELECT 

  last_name,

  commission_pct 

FROM

  employees 

WHERE commission_pct IS NULL ;

#案例2:查询有奖金的员工名和奖金率

SELECT 

  last_name,

  commission_pct 

FROM

  employees 

WHERE commission_pct IS NOT NULL ;

#安全等于: <=>

#案例1:查询没有奖金的员工名和奖金率

SELECT 

  last_name,

  commission_pct 

FROM

  employees 

WHERE commission_pct <=> NULL ;

#案例2:查询工资12000的员工信息

SELECT 

  last_name,

  commission_pct,

  salary

FROM

  employees 

WHERE salary <=> 12000 ;

#is null vs <=>

MySQL入门 DQL语言之二:条件查询MySQL入门 DQL语言之二:条件查询
MySQL入门 DQL语言之二:条件查询MySQL入门 DQL语言之二:条件查询
MySQL入门 DQL语言之二:条件查询MySQL入门 DQL语言之二:条件查询

继续阅读