Mysql进阶2:条件查询

#进阶二:条件查询
/*
语法:
            SELECT
                            要查询的列表
            FROM
                            表名
            WHERE
                        筛选条件;
分类:
            一、按条件表达式筛选
                条件运算符:
                    =  <  <=  >  >=;
                    <> 不等于 ;!=不等于; < ; <=;>;>=;
            二、按逻辑表达式筛选
                逻辑运算符:
                    &&  ||  |   !   
                    and or  not
                    &&和and:都为Ture则为Ture,反之为False
                    ||和or:有一个为Ture则为True,反之为False
                !:取非,True取非后为False,False取非后为True
            三、模糊查询
                    LIKE   
                    BETWEEN  AND
                    IN
                    IS NULL
*/ 
#一、按条件表达式筛选
    #案例一:查询工资大于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;
                        

#三、模糊查询

    /*
    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
                        *
        FROM
                        employees
        WHERE
                        last_name LIKE '_\_%';%转义字符\
                    

    /*
        BETWEEN AND
        ①提高简洁度
        ②包含临界值
        临界值不能颠倒
    */
    
        SELECT
                last_name,
                salary,
                commission_pct
        FROM 
                employees
        WHERE
                salary BETWEEN 10000 AND 20000;
                
                
    /*
        IN  用于判断某字段的值是否属于in列表中的某一项
    */    
            #案例:查询员工编号为IT_PORG、AD_VP中的一个员工名和工种编号
                SELECT
                                last_name,
                                job_id
                FROM
                                employees
                WHERE
                                job_id IN('IT_PORG','AD_VP');
                                
    /*
        IS NULL  、 IS NOT NULL
        
    */    
        #案例:查询没有奖金的员工名
             SELECT
                                last_name,
                                commission_pct
                FROM
                                employees
                WHERE
                                commission_pct IS NULL;
                                
        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值