条件查询(where)——MySQL

条件查询

关键词:where

条件查询导图

在这里插入图片描述

语法

  • 关键词:where

  • select 查询列表 from 表名 where 筛选条件

  • 执行循序:

    1. 先在库中找表名。
    2. 筛选满足要求的。
    3. 查询
  • 筛选条件分类:

    1. 条件表达式筛序
      '>、<、=、<>不等、>=、<=
    2. 逻辑表达式筛序
      &&、||、!
      逻辑运算符就是连接条件表达式
    3. 模糊查询
      like、between and 、in、is null、is not null

条件查询

  1. 查询工资大于 12000 的员工姓名和工资
    select * from employees where salary>1200;
  2. 查询员工号为 176 的员工的姓名和部门号和年薪
    select last_name,department_id from employees where department_id<>90;

逻辑查询

  1. 选择工资不在 5000 到 12000 的员工的姓名和工资
    select last_name,salary,commission_pct where salary>=5000 and salary<=12000;
    两句等价
    select last_name,salary,commission_pct where salary between 5000 and 12000;

2.1模糊查询

like

  • 一般和通配符搭配在一起使用
  • 通配符:
    • % :任意多个字符,包含0个
    • _ :任意单个字符
    • 如果要查找%或_字符的时候可以转义:\% 、\_
例题
  1. 选择员工姓名的第三个字母是 a 的员工姓名
    select last_name from employees where last_name like '__a%';
  2. 选择姓名中有字母 a 和 e 的员工姓名
    select last_name from employees where last_name like '%a%' and '%e%';
  3. 选择员工姓名的第二个字母是_的员工姓名
    select last_name from employees where last_name like '_\_%'

between and

  • between and可以使挑选到某一个区间的值表达的更加精简
  • between a and b等价于id >=a and id <= b,a,b两个临界值不能颠倒
  1. 显示出表 employees 部门编号在 80-100 之间 的姓名、职位
    select * from employees where employees_id >=80 and employees_id <= 100;
    会多些一些重复的东西,用between and可以改为
    select * from employees where employees_id between 80 and 100;

in

  1. 查询员工的工种编号是 IT,AD,MS中的一个员工名和工种编号
    select last_name,job_id from employees where job_id=‘TI’ OR job_id=‘AD’ OR job_id=‘MS’;
    会多些一些重复的东西,用in可以改为
    select last_name,job_id from employees where job_id IN (‘TI’,‘AD’,‘MS’);

is NULL

  1. 查询没有奖金的员工名和奖金率
    select last_name,commission_pct from employees where commission_pct = NULL;
    这种写法是错误的因为**=能判断NULL值**
    select last_name,commission_pct from employees where commission_pct is null;

<=> 安全等于

  • 用于判断是否等于
  1. 查询工资为12000的员工信息
    select last_name,salary from employees where salary<=>1200;

    普通类型的值NULL值可读性
    is null×
    <=>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值