ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL——条件查询(条件表达式、逻辑表达式和模糊查询)

2021-05-09 14:57:35  阅读:243  来源: 互联网

标签:last name employees 查询 表达式 MySQL WHERE SELECT


参考链接

  1. https://www.bilibili.com/video/BV12b411K7Zu?p=31

条件查询

语法

SELECT
	查询列表
FROM
	表名
WHERE
	筛选条件;

分类

按条件表达式筛选

简单条件运算符:>、<、=、!=、<>、>=、<=
例如,“查询工资>12000的员工信息”

SELECT
	*
FROM
	employees
WHERE
	salary>12000

又如,“查询部门编号不等于90号的员工名和部门编号”

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

按逻辑表达式筛选

逻辑运算符:&&、||、!、and、or、not,用于连接条件表达式

例如,“查询工资在10000到20000之间的员工名、工资以及奖金”

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

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

SELECT
	*
FROM
	employees
WHERE
	department_id<90 OR department_id>110 OR salary>15000;

模糊查询

like、between and 、in、is null

like

特点:一般和通配符搭配使用。

通配符:

  1. %:任意多个字符,包含0个字符
  2. _:任意单个字符
    比如,“查询员工名中包含字符a的员工信息”
SELECT
	*
FROM
	employees
WHERE
	last_name LIKE '%a%';

又如,“查询员工名中第三个字符为e,第五个字符为a的员工名和工资”

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

再如,“查询员工名中第二个字符为_的员工名”
可以使用许多语言通用的转义字符“\”:

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

也可以使用MySQL中的ESCAPE将任意字符声明为转义字符:

SELECT
	last_name
FROM
	employees
WHERE
	last_name LIKE '_$_%' ESCAPE '$';
between and
  1. 可以提高语句的简洁度
  2. 包含临界值
  3. 两个临界值不要调换顺序

比如,“查询员工编号在100到120之间的员工信息”

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

判断某字段的值是否属于in列表中的某一项

  1. 提高语句简洁度
  2. in列表的值类型必须一致或兼容
  3. in列表里的值不支持通配符

比如,“查询员工的工种编号是IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号”

SELECT
	last_name,
	job_id
FROM
	employees
WHERE
	job_id IN('IT_PROT','AD_VP','AD_PRES');
is null
  1. =或<>不能用于判断null值
  2. is null或is not null可以判断null值

比如,“查询没有奖金的员工名和奖金率”

SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct IS NULL;

标签:last,name,employees,查询,表达式,MySQL,WHERE,SELECT
来源: https://blog.csdn.net/beilizhang/article/details/116564687

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有