The databases and tables used have been packaged into sql files
Download
link : link: https://pan.baidu.com/s/1G364wNlh_g95DuMd5eNz9w Extraction code: r43m
The keywords used are ifnull in or and <> <=> is null, etc. suitable for novices to learn
/*
条件查询
语法 SELECT
查询列表
FROM
表名
WHERE
筛选条件
分类 :
一。按照条件表达式筛选
简单条件运算符 < > != =
二。 按照逻辑表达式
逻辑表达式: && || ! and or not
&& 相等于 and
三。模糊查询
like
between and
in
is null
*/
# 按条件表达式筛选
# 查询 员工工资 大于 12000 的员工信息
SELECT * FROM employees WHERE salary>12000;
#查询部门编号 不等于 90号的 员工名 和 有 部门编号 <>不等于
SELECT
last_name,
department_id
FROM
employees
WHERE department_id <> 90;
# 工资在 一万 到两万之间的 员工名 和 工资和 奖金
SELECT last_name , salary,commission_pct FROM employees WHERE salary BETWEEN 10000 AND 20000;
#模糊查询
/*
like
between and
is null
is not null
in
*/
# 查询 员工名字中包含 字符a 的员工信息 % 是通配符 代表任意字符 它包含零个字符 -任意单个字符 就一个
SELECT * FROM employees
WHERE last_name LIKE '%a%' ;
# 查询 员工名中 第三个字符 为e 第五个字符 为a 员工的名字和工资
SELECT last_name, salary FROM employees WHERE '__e__a';
#查询 员工名中 第二个字符为_ 的姓名和工资
SELECT last_name, salary FROM employees WHERE last_name LIKE '_\_%';
# between and 在什么什么 之间 可以提高语句的简介度 包含临界值 顺序不能颠倒
#案例1 查询员工编号 100到 120的员工信息 区间条件查询
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 200;
# in 案例:查询 工种编号 是 ---- AD 用于判断某字段的值是 IN 列表中的某一项 简洁度 IN 列表的值 一定要兼容 IN 是 =
SELECT last_name ,job_id FROM employees WHERE job_id IN ('AD_VP');
# is null 查询没有奖金 的员工名和 奖金率
SELECT last_name,commission_pct FROM employees WHERE commission_pct IS NULL;
# 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;
SELECT
last_name,
salary
FROM
employees
WHERE salary <=> 12000;
# 查询 员工号为 176 的员工姓名 年薪 ifnull 判断是否为空
SELECT
last_name,
salary * 12+ (1+ IFNULL (commission_pct, 0)) AS 年薪
FROM
employees;