一、查询
SELECT 查询列表
FROM 表名
WHERE 筛选条件
二、分类
①按条件表达式筛选
简单条件运算符:>,<,=,!=,>=,<>
②按逻辑表达式筛选(用于连接条件表达式)
逻辑运算符:&& || !
AND OR NOT
③模糊查询
LIKE
BETWEEN AND
IN
IS NUL
一、按条件表达式筛选
案例1:查询工资>12000的员工信息
SELECT *
FROM employees
WHERE salary>12000;
二、按逻辑表达式筛选
& | !
三、模糊查询
1.LIKE(通配符只能在这里用)
通配符:%任意若干个字符,包括0
_一个字符
案例1:查询员工名中含字符a的员工信息
SELECT *
FROM employees
WHERE name LIKE '%a%' ; //字符型的值必须用单引号
案例2:查询员工名中第三个字符为'a',第五个字符为'a'的员工信息
SELECT *
FROM employees
WHERE name LIKE '_ _ a_a%' ;
案例3:查询员工名中第二个字符为'_'的员工信息
法1:
SELECT *
FROM employees
WHERE name LIKE '_\_%' //转义字符'\'
法2:
SELECT *
FROM employees
WHERE name LIKE '_$_%' ESCAPE '$'; //任一字符为转义字符并声明
2.BETWEEN AND
①提高语句简洁度
②包含临界值 【】
③【a,b】为>=a且<=b
案例1:查询员工编号在100和120之间的员工信息
法1:
SELECT *
FROM employees
WHERE employee_id>=100 AND employee_id<=120;
法2:
SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 120;
3.IN
判断某字段值是否为in列表中某一项
①简洁
②IN列表值得类型统一或兼容('123'=123)
③不支持通配符,因为IN相当于=,二通配符用LIKE
案例1:查询员工编号是 IT AD 中的一个的员工学校
法1:
SELECT *
FROM employees
WHERE employee_id=‘IT’
AND employee_id=‘AD’;
法2:
SELECT *
FROM employees
WHERE employee_id IN (‘IT’,‘AD’);
4.IS NULL
①’=‘ ’!=‘不能判断 NULL
②IS 只能和NULL匹配
③IS 不能判断普通数值
案例1:查询没有奖金得员工编号是 IT 得员工信息
法1:
SELECT *
FROM employees
WHERE employee_id=‘IT’
AND commission IS NULL;
5、安全等于<=>
①既可以判断NULL,也可以判断普通数值
SELECT *
FROM employees
WHERE employee_id=‘IT’
AND commission <=>NULL;
SELECT *
FROM employees
WHERE employee_id=‘IT’
AND commission <=> 12000;