【MySQL练习】运算符练习

表数据:https://www.cnblogs.com/zhishu/p/16452950.html

1.选择工资不在5000到12000的员工的姓名和工资

SELECT last_name,salary
FROM employees
WHERE salary<5000 OR salary>20000;

SELECT last_name,salary
FROM employees
WHERE salary NOT BETWEEN 5000 AND 20000;

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

判断是否为null用IS NULL,不能用manger_id = NULL

SELECT last_name,job_id
FROM employees
WHERE manager_id IS NULL;

4.选择公司中有奖金的员工姓名,工资和奖金级别

IS NOT NULL判断非NULL

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

5.选择员工姓名的第三个字母是a的员工姓名

模糊查询:_下划线表示占用一位,%百分号表示0位、1位或多位

SELECT last_name
FROM employees
WHERE last_name LIKE '__a%';

6.选择姓名中有字母a和k的员工姓名

含有字母a和k,使用%

SELECT last_name
FROM employees
WHERE last_name LIKE '%a%k%' OR last_name LIKE '%k%a%';

7.显示出表 employees 表中 first_name 以 'e'结尾的员工信息

REGEXP 用来匹配字符串,满足条件则返回1,否则返回0,匹配值或匹配条件中任意一个为NULL,则结果为NULL。
'e$' 表示以e结尾的字符串。

SELECT * 
FROM employees
WHERE first_name LIKE '%e';

SELECT *
FROM employees
WHERE first_name REGEXP 'e$';

8.显示出表 employees 部门编号在 80-100 之间的姓名、工种id

SELECT last_name,job_id
FROM employees
where department_id in (80,90,100);

SELECT last_name,job_id
FROM employees
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,102);
posted @ 2022-10-17 13:57  植树chen  阅读(67)  评论(0编辑  收藏  举报