当前位置:网站首页>条件查询

条件查询

2022-06-26 04:28:00 莉莉妖_


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

  1. 按条件表达式筛选
    简单条件运算符:<>= (!=<>) >=<=
  2. 按逻辑表达式筛选
    逻辑运算符: ANDORNOT
  3. 模糊查询
    LIKEBETWEEN ANDINIS NULL

按条件表达式筛选

#1. 查询工资 > 12000 的员工信息
SELECT * FROM employees WHERE salary > 12000;

#2. 查询部门编号不等于 90 的员工名和部门编号
SELECT
	CONCAT(last_name, " ", first_name) AS 员工名,
	department_id
FROM
	employees
WHERE
	department_id <> 90; # 不等于

按逻辑表达式筛选

AND

#1. 查询工资在 10000 到 20000 之间的员工名,工资和奖金
SELECT
	CONCAT(last_name, " ", first_name) AS 员工名,
	salary,
	commission_pct
FROM
	employees
WHERE
	salary >= 10000
AND salary <= 20000;

OR / NOT

#2. 查询部门编号不是在 90 到 110 之间,或者工资高于 15000 的员工信息
SELECT
	*
FROM
	employees
WHERE
	NOT (department_id >= 90 AND department_id <= 110)
    OR salary > 15000;

模糊查询

LIKE

  • 一般和通配符搭配使用
  • 通配符:%:任意多个字符,_:任意单个字符
#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. 查询员工名中第二个字符为“_”的员工名
# (使用转义字符 \ 或 任意字符 使用 ESCAPE)
SELECT last_name 
FROM employees WHERE last_name LIKE "_$_%" ESCAPE "$";

BETWEEN AND

  • 包含左右临界值
#1. 查询员工编号在 100 到 120 之间的员工信息
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 120;

IN

#1. 查询员工的工种编号是 AD_VP,IT_PROG,AD_PRES中的一个的员工名和工种编号
SELECT
	last_name,
	job_id
FROM
	employees
WHERE
	job_id IN (
		"AD_VP",
		"IT_PROG",
		"AD_PRES");

IS NULL 和 IS NOT NULL

#1. 查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct 
FROM employees WHERE commission_pct IS NULL;

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

<=>:安全等于

  • 可以判断 NULL 和 普通值
SELECT last_name,commission_pct 
FROM employees WHERE commission_pct <=> NULL;
原网站

版权声明
本文为[莉莉妖_]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_44260863/article/details/105879629