Mysql学习笔记2

Mysql学习笔记2

条件查询

语法:

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

分类:

 /*
     一· 按条件表达式筛选
            
           条件运算符 > < = != >= <=
           
     二· 按逻辑表达式筛选
     
         逻辑运算符:
           &&    ||   !
           and   or  not

     三·模糊查询
     
           like 
           between  and
           in
           is null
 */

一· 按条件运算符筛选

#案例1:查询所有薪水大于12000的员工信息
SELECT
          *
FROM
          employees
WHERE
          salary>12000; 

#案例2:查询所有部门编号不等于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;

三·模糊查询

/*
   like      
   特点:
      一般和通配符搭配使用
      通配符:
            % 任意多个字符
            
   between and
   特点:
      提高语句整洁度
      包含临界值
      包含的两个临界值不要调换(值的类型必须一直且满足大小关系)
   in 
   含义:判断某字段的值是否属于in列表中的某一项
   特点:
      提高语句整洁度
      in列表的值类型必须统一(兼容)
   is null
      =或< >不能用于判断null值
      所以用is null或者is not null 来判断null的值
      
*/
#1.LIKE:

#案例1:查询员工名中包括字符a的员工信息
SELECT
            *
FROM
            employees
WHERE
            last_name LIKE ‘%a%’;   # %:通配符
#案例2:查询员工名中第三个字符为n,第五个字符为l的员工名,工资
SELECT
            last_name
            salary
FROM
            employees
WHERE
            last_name LIKE ‘__n_l%’;
#案例3:查询员工名中第二个字符为_的员工名
SELECT
            last_name
FROM 
            employees
WHERE
            last_name LIKE ‘_\_%’; # \为转义字符java
         # last_name LIKE ‘_$_%’ ESCAPE ‘$’;
         # 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 ('IT_PROT','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,
            salary
FROM
			employees
WHERE
			salary  <=> 12000;

is null仅仅可以判断null
<=>可以判断值和null 但可读性较差(毕竟是3个运算符组成) 所以推荐使用前者

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值