3.条件查询

语法

select 
    查询列表
from
    表明
where
    筛选条件

先执行from 表明
再执行筛选条件
再执行查询列表

分类

1.按条件表达式筛选
条件运算符: > < = != <> <= >=

2.按逻辑表达式筛选(用于连接条件表达式)
逻辑运算符:
&& and
|| or
! not

3.模糊查询
like
between and
in
is null
is not null

like:
    通配符
    % 任意多个字符(0个到多个)
    _ 任意单个字符
    如果查询的字符中需要使用 % _ 等, 可以使用 \ 来进行转义
    也可以自己来指定转义的字符
    
    查询名字中第二个字符是下划线的员工
    select * from employees
    where 
    last_name like '_$_%' ESCAPE '$';
    这里就是指定'$'为转义符
3-1.png
3-2.png
between and
    包含左右的临界值 [100,120]
    两个临界值不能换位置, 必须是小的在前面
in 特点
1. 使用 in 提高语句的简介度
2. in 列表的值类型必须统一或者兼容
= 或者<> 不能用于判断null值
is null 或 is not null 可以判断null值

安全等于  <=>
可以用来判断null 也可以用来判断数值。 可读性不好


# 没有奖金的员工
SELECT *
from employees 
where commission_pct <=> null;


# 工资为12000的员工
select * 
from employees
where salary <=> 12000;

案例

查询工资>12000的员工信息

SELECT
    *
FROM
    employees
WHERE
    salary > 12000;

查询部门编号不等于90号的员工名和部门编号

SELECT
    concat(first_name, ' ', last_name) `name`,
    department_id
FROM
    employees
WHERE
    department_id <> 90

查询工资在10000到20000之前的员工名,工资以及奖金

SELECT
    concat(first_name, ' ', last_name) `name`,
    salary,
    commission_pct
FROM
    employees
WHERE
    salary >= 10000
AND salary <= 20000

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

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

查询员工名字中包含字符a的员工信息

select * from employees
where last_name like '%a%'

查询员工名字中第三个字符为e,第五个字符为a的员工信息

select * from employees
where last_name like '__e_a%'

查询员工名字中第二个字符为下划线的员工信息

SELECT
    *
FROM
    employees
WHERE
    last_name LIKE '_\_%';

查询员工编号在100到120之间的员工信息

SELECT
    *
FROM
    employees
WHERE
    employee_id BETWEEN 100 AND 120;

in 查询员工的工种编号是 IT_PROG AD_VP AD_PRES 中的一个员工名和工种编号

SELECT last_name, job_id
from employees 
where job_id in ('IT_PROG', 'AD_VP', 'AD_PRES')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 2. 条件查询 /* 条件查询的语法: select 查询列表 from 表名 where 筛选条件; 分类:...
    大大大老猫阅读 1,020评论 0 0
  • 进阶2:条件查询 /* 语法:select查询列表from表名where筛选条件; 分类:一、按条件表达式筛选 *...
    majorty阅读 687评论 0 0
  • 告别拉萨,收获满满,不虚此行。 已经忽略了初下飞机后的不适,只记得布达拉宫的雄伟,大昭寺的虔诚,纳木错的圣洁,羊布...
    杨林柯阅读 484评论 0 5
  • 标签隐藏 组件复用 wxml js
    余生筑阅读 407评论 0 0
  • 晨曦初露芳容 朝霞唤醒璀璨明珠 跃动的旋律灵动飘逸 光影变幻万千宠爱 热烈奔放莫测高深 一日之计在于晨 赠给勤勉敬...
    梅花之子阅读 544评论 2 23