MySQL基础——DQL语句(条件查询)

MySQL基础——DQL语句(条件查询)

条件查询

语法:

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;

二,按逻辑表达式筛选

案例一,查询工资在10000到20000之间的员工名,工资以及奖金

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

案例二,查询部门编号不是在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.查询员工名中,第三个字符为n的,第五个字符为l的员工名和工资

SELECT
  last_name,
  salary
FROM
  employees
WHERE last_name LIKE '__n_l%';

案例3,查询员工名中,第二个字符为_的员工名

SELECT
  last_name
FROM
  employees
WHERE last_name LIKE '_\_%';
#此处的\为转义符

也可以使用escape关键字指定转义字符

SELECT
  last_name
FROM
  employees
WHERE last_name LIKE '_a_%' ESCAPE 'a';

2.between and

1.使用between and 可以提高简洁度
2.包含临界值
3.两个临界值不要调换位置

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

SELECT
  *
FROM
  employees
WHERE employee_id BETWEEN 100
  AND 120;
3.in

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

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

SELECT
  last_name,
  job_id
FROM
  employees
WHERE job_id IN ('AD_VP', 'AD_PRES', 'IT_PROG');
4.is null/is not null

=或<>不能用来判断null值

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

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

安全等于 <=>

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

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

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

SELECT
  *
FROM
  employees
WHERE salary <=> 12000;

is null 和 <=>

IS NULL:仅仅可以判断null值,可读性较高,建议使用
<=> : 既可以用来判断null值,也可以用来判断普通数值,可读性较低

猜你喜欢

转载自blog.csdn.net/qq_51372098/article/details/113786696