算数运算符
加+ ,减法- ,乘法* ,除法/ ,取模 %
比较运算符
<=>安全等于运算符
<>不等于运算符
<
<=
>
>=
is not null不为空运算符
least最小值运算符:多个值中返回最小值
greatest最大值运算符:多个值中返回最大值
between and
isnull为空运算符
in 属于运算符
not in 不属于运算符
like 模糊匹配运算符
regexp
rlike
空运算符:is null isnull判断一个值是否为null如果null则返回1,否则0
非空运算符:is not null 判断一个值是否不为null,如果不是Null 则返回1,否则返回0
最小值运算符:least(number1,number2,number3)
最大值运算符:greatest(number1,number2,number3)
最大值最小值运算符中包含null,则直接返回jnull
逻辑运算符
练习(重点)
1.选择工资不在5000到12000的员工的姓名和工资
SELECT last_name, salary
FROM employees
WHERE salary < 5000 OR salary > 12000;
SELECT last_name, salary
FROM employees
WHERE salary NOT BETWEEN 5000 AND 12000;
2.选择在20或50号部门工作的员工姓名和部门号
SELECT last_name, department_id
FROM employees
WHERE department_id = 20 OR department_id = 50;
SELECT last_name, department_id
FROM employees
WHERE department_id IN(20, 50);
3.选择公司中没有管理者的员工姓名及job_id
SELECT last_name, job_id
FROM employees
WHERE manager_id IS NULL;
4.选择公司中有奖金的员工姓名,工资和奖金级别
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
5.选员工姓名的第三个字母是a的员工姓名
SELECT last_name
FROM employees
WHERE last_name LIKE ‘__a%’;
6.选择姓名中有字母a和k的员工姓名
SELECT last_name
FROM employees
WHERE last_name LIKE ‘%a%k%’ OR last_name LIKE ‘%k%a%’;
7.显示出表 employees 表中 first_name 以 'e’结尾的员工信息
SELECT employee_id,first_name,last_name
FROM employees
WHERE first_name LIKE ‘%e’;
SELECT employee_id,first_name,last_name
FROM employees
WHERE first_name REGEXP ‘e$’;
8.显示出表 employees 部门编号在 80-100 之间的姓名、工种
SELECT last_name,job_id
FROM employees
#where department_id in (80,90,100);
WHERE department_id BETWEEN 80 AND 100;
9.显示出表 employees 的 manager_id 是 100,101,110 的员工姓名、工资、
管理者id
SELECT last_name,salary,manager_id
FROM employees
WHERE manager_id IN (100,101,110);