美文网首页
3.条件查询

3.条件查询

作者: 休坡本 | 来源:发表于2019-06-17 22:36 被阅读0次

语法

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')

相关文章

网友评论

      本文标题:3.条件查询

      本文链接:https://www.haomeiwen.com/subject/sxjtqctx.html