• MySQL进阶2:条件查询


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

    分类:
        一,按条件表达式筛选
        条件运算符: ><= != <> >= <=


        二,按逻辑表达式筛选
        作用:用于连接条件表达式
        逻辑运算符:&& || !
            and    or  not


        三,模糊查询
                like
                between
                in
                is null

    =======================================================

     一,按条件表达式筛选

    1. #案例一, 查询工资>12000的员工信息
    2. SELECT *
    3. FROM employees
    4. WHERE salary>12000;

     

     

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

     

     二,按逻辑表达式筛选

    1. #案例一,查询工资在1000020000之间的员工名,工资及奖金
    2. SELECT last_name,salary,commission_pct
    3. FROM employees
    4. WHERE salary>=10000 AND salary<=20000;

     

     

    1. #案例二,查询部门编号不是在90-110之间,或者工资高于15000的员工信息
    2. SELECT *
    3. FROM employees
    4. WHERE department_id<90 OR department_id>110 OR salary>15000;

     

     三,模糊查询

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

     

    1. #案例一,查询员工名包含字符a的员工信息
    2. SELECT *
    3. FROM employees
    4. WHERE last_name LIKE '%a%';

     

    1. #案例二,查询员工中第三个字符为n,第五个字符为l的员工名和工资
    2. SELECT last_name,salary
    3. FROM employees
    4. WHERE last_name LIKE'__n_l%';

     

     

    1. #案例三,查询员工名中第二个字符为_的员工名
    2. SELECT last_name
    3. FROM employees
    4. WHERE last_name LIKE '_$_%'ESCAPE'$';
    5. #解释:$此时表示转义,后面的escape解释 其实可以直接\_,即‘_\_%

     #2.between and
    /*
    包含临界值,简洁,两个临界值不能颠倒
    */

    1. #案例一,查询员工编号在100-120之间的员工信息
    2. SELECT *
    3. FROM employees
    4. WHERE employee_id BETWEEN 100 AND 120;

     

    #3.in
    /*
    判断某字段的值是否属于in列表中的某一项
    特点:使用in比or提高语句简洁度
    in列表的值类型必须一致

    1. #案例:查询员工的工种编号是 IT_PROG,AD_VP,AD_PRES的员工员工名和工种编号
    2. SELECT last_name,job_id
    3. FROM employees
    4. WHERE job_id IN('IT_PROG','AD_VP','AD_PRES');

     

    #4.is null
    /*
    is null或is not null判断null
    */

    1. #案例1,查询没有奖金的员工名和奖金率
    2. SELECT last_name,commission_pct
    3. FROM employees
    4. WHERE commission_pct IS NULL;
    5. #案例2,查询有奖金的员工名和奖金率
    6. SELECT last_name,commission_pct
    7. FROM employees
    8. WHERE commission_pct IS NOT NULL;

     

     

    #安全等于  <=>
    #用来判断是否等于,如果等于true

    1. #案例1,查询没有奖金的员工名和奖金率
    2. SELECT last_name,commission_pct
    3. FROM employees
    4. WHERE commission_pct <=> NULL;
    5. #案例二,查询工资为12000的员工信息
    6. SELECT last_name,salary
    7. FROM employees
    8. WHERE salary<=> 12000;

    ======================================================

     

  • 相关阅读:
    高防IP是什么?如何隐藏源站IP?如何进行防护?
    移动流量的爆发式增长,社交电商如何选择商业模式
    Chapter 7 XGBoost
    用 Python 为接口测试自动生成用例
    记录axios响应慢的问题以及vue跨域和nginx跨域区别
    企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
    尚医通 (十) --------- axios、Element UI 与 Node.js
    Paddle使用pyinstaller打包出错的解决方法
    MySQL索引和优化的理解学习
    【OpenCV图像处理10】图像直方图
  • 原文地址:https://blog.csdn.net/weixin_61451728/article/details/125442124