zoukankan      html  css  js  c++  java
  • MySQL基础第二弹

    #进阶2:条件查询
    /*

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


    分类:
    一、按条件表达式筛选
    简单条件运算符:> < = <> #(<>这个是不等于的意思) >= <=
    二、按逻辑表达式筛选
    逻辑运算符:
    作用:用于连接条件表达式
    && || !
    and or not
    &&和and:两个条件都为true,结果为true,反之为false
    !|或or:只要有一个条件为true,结果为true,反之为false
    !或not:如果连接的条件本身为false,结果为true,反之为false
    三、模糊查询
    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
    特点:
    ①一般和通配符搭配使用
    通配符:
    %任意多个字符,包括0个字符
    _任意单个字符
    between and
    in
    is null | is not null
    */

    #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 '__n_l%';


    #案例3:查询员工名中第二个字符为_的员工名
    SELECT
    last_name
    FROM
    employees
    WHERE
    last_name LIKE '_\_%'; #是转意符

    #2.between and

    /*
    ①使用between and 可以提高语句的简洁度
    ②包含临界值
    ③两个临界值不要调换顺序
    */

    #案例1:查询员工编号在100到120之间的员工信息
    SELECT
    *
    FROM
    employees
    WHERE
    employee_id>=100 AND employee_id<=120;


    SELECT
    *
    FROM
    employees
    WHERE
    employee_id BETWEEN 100 AND 120;





    #3.in

    /*
    含义:判断某字段的值是否属于in列表中的某一项
    特点:
    ①使用in提高语句简洁度
    ②in列表的值类型必须统一兼容

    */

    #案例:查询员工的工种名编号是 IT_PROC、AD_VP、AD_PRES中的一个员工名和工种编号
    SELECT
    last_name,
    job_id
    FROM
    employees
    WHERE
    job_id='IT_PROC' OR job_id='AD_VP' OR job_id='AD_PRES';


    SELECT
    last_name,
    job_id
    FROM
    employees
    WHERE
    job_id IN ('IT_PROC' , 'AD_VP' , 'AD_PRES');


    #4.is null


    #案例1:查询没有奖金的员工名和奖金率
    SELECT
    last_name,
    commission_pct
    FROM
    employees
    WHERE
    commission_pct IS NULL; #反正查is not null

    #查询没有奖金,且工资小于18000的salary,last_name

    SELECT
    last_name,
    salary,
    commission_pct
    FROM
    employees
    WHERE
    salary < 18000 AND commission_pct IS NULL;

    SELECT
    *
    FROM
    employees
    WHERE
    job_id<>'IT' OR salary=12000;

  • 相关阅读:
    python 中文文档地址总结
    清除celery 任务队列
    celery work logging 问题
    mysql 数据库 存储数据类型
    python 补0的方法
    lunix 命令积累
    python3 import Crypto 失败的解决办法 (AES对称加密使用 模块)
    从excel 获取内容 模块:xlrd
    api h5 sdk 接入的说明
    Excel 打开两个单独的页面
  • 原文地址:https://www.cnblogs.com/sucanji/p/10928649.html
Copyright © 2011-2022 走看看