zoukankan      html  css  js  c++  java
  • MySQL(尚硅谷)笔记2

    一、按条件表达式筛选

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

    SELECT 
     *
    FROM
     employees
    WHERE
     salary>12000;

    案例2:查询部门编号不等于90号的员工名和部门编号

    SELECT 
     last_name,
     department_id
    FROM
     employees
    WHERE
     department_id<>90;

    二、按逻辑表达式筛选

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

    SELECT
     last_name,
     salary,
     commission_pct
    FROM
     employees
    WHERE
     salary>=10000 AND salary<=20000;

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

    SELECT
     *
    FROM
     employees
    WHERE
     NOT(department_id>=90 AND  department_id<=110) OR salary>15000;

    三、模糊查询

    1.like

    特点:
    ①一般和通配符搭配使用
     通配符:
     % 任意多个字符,包含0个字符
     _ 任意单个字符
    #案例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 '_$_%' ESCAPE '$';

    2.between and

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

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

    SELECT
     *
    FROM
     employees
    WHERE
     employee_id >= 120 AND employee_id<=100;
    SELECT
     *
    FROM
     employees
    WHERE
     employee_id BETWEEN 120 AND 100;

    3.in

    含义:判断某字段的值是否属于in列表中的某一项
    特点:
     ①使用in提高语句简洁度
     ②in列表的值类型必须一致或兼容
     ③in列表中不支持通配符

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

    SELECT
     last_name,
     job_id
    FROM
     employees
    WHERE
     job_id = 'IT_PROT' OR job_id = 'AD_VP' OR JOB_ID ='AD_PRES';
    SELECT
     last_name,
     job_id
    FROM
     employees
    WHERE
     job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');

    4、is null

    =<>不能用于判断nullis nullis not null 可以判断null

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

    SELECT
     last_name,
     commission_pct
    FROM
     employees
    WHERE
     commission_pct IS NULL;

    查询有奖金的员工名和奖金率

    SELECT
     last_name,
     commission_pct
    FROM
     employees
    WHERE
     commission_pct IS NOT NULL;

    安全等于 <=>
    查询没有奖金的员工名和奖金率

    SELECT
     last_name,
     commission_pct
    FROM
     employees
    WHERE
     commission_pct <=>NULL;

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

    SELECT
     last_name,
     salary
    FROM
     employees
    WHERE 
     salary <=> 12000;

    is null pk <=>

    IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
    <=>    :既可以判断NULL值,又可以判断普通的数值,可读性较低
    别废话,拿你代码给我看。
  • 相关阅读:
    我要好offer之 二叉树大总结
    我要好offer之 字符串相关大总结
    楼层扔鸡蛋问题[转]
    Linux System Programming 学习笔记(十一) 时间
    Linux System Programming 学习笔记(十) 信号
    Linux System Programming 学习笔记(九) 内存管理
    Linux System Programming 学习笔记(八) 文件和目录管理
    Linux System Programming 学习笔记(七) 线程
    Linux System Programming 学习笔记(六) 进程调度
    APUE 学习笔记(十一) 网络IPC:套接字
  • 原文地址:https://www.cnblogs.com/lvxueyang/p/13707393.html
Copyright © 2011-2022 走看看