mysql运算符

运算符

运算符包括算术运算符,比较运算符,逻辑运算符,位运算符
运算符的优先级

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
#运算符

#1,算术运算符: + - * div(/) %(mod)
SELECT 100,100+3,30*2
FROM DUAL;

SELECT 100+‘1’
FROM DUAL;

SELECT 100+‘Ab’
FROM DUAL;

SELECT 100+NULL
FROM DUAL;

SELECT 10/1.0
FROM DUAL;

SELECT 100 MOD 0
FROM DUAL;#分母如果为零结果为null

SELECT 12%3,12%5,23 MOD 5,23%-3,12%-5,12/3.5
FROM DUAL;

SELECT 10 /3.0
FROM DUAL;

#查询员工id为偶数的员工信息
SELECT *
FROM employees
WHERE employee_id%2=0

SELECT 1=2,1!=2,1=‘1’,1=‘A’,‘a’=‘a’,‘a’=‘ab’,1=NULL,NULL=NULL
FROM DUAL;

SELECT last_name,salary,commission_pct
FROM employees
#where salary=6000;
WHERE commission_pct <=> NULL;

SELECT last_name,salary,commission_pct
FROM employees
#where salary=6000;
WHERE commission_pct IS NOT NULL;

SELECT NULL IS NULL,NULL ISNULL,ISNULL(NULL),ISNULL(‘a’),1 IS NULL;

SELECT LEAST(1,0.99,3.1),LEAST(‘a’,‘c’,‘v’),LEAST(‘bc’,‘s’,‘z’),LEAST(1,2,NULL)

SELECT GREATEST(1,0.99,3.1),GREATEST(‘a’,‘c’,‘v’),GREATEST(‘bc’,‘s’,‘z’),GREATEST(1,2,‘a’,NULL)

SELECT first_name,last_name,LEAST(first_name,last_name)
FROM employees;

SELECT employee_id,last_name,salary
FROM employees
#where salary between 6000 and 8000;
WHERE salary >=6000 && salary<=8000; #(用and或者用&&等价)
SELECT 11 BETWEEN 10 AND 12;

SELECT employee_id,last_name,salary
FROM employees
#where salary not between 6000 and 8000;
WHERE salary <6000 OR salary>8000; #(用and或者用&&等价)

#查询部门为10,20,30部门的员工信息
SELECT last_name,salary,department_id
FROM employees
#where department_id=10 or department_id=20 or department_id=30;
WHERE department_id IN(10,20,30);

#查询工资不是6000,7000,8000的员工的信息
SELECT last_name,salary,department_id
FROM employees
WHERE salary NOT IN(6000,7000,8000);

#模糊查询,查找last_name中包含字符’a’的员工信息
SELECT last_name
FROM employees
WHERE last_name LIKE’a_%';

SELECT last_name
FROM employees
WHERE last_name LIKE ‘%a’;

#查询员工last_name中包含a和e的
SELECT last_name
FROM employees
WHERE last_name LIKE’%a%‘AND last_name LIKE’%e%';

SELECT last_name
FROM employees
WHERE last_name LIKE’%a%e%‘OR last_name LIKE’%e%a%';

SELECT last_name
FROM employees
WHERE last_name LIKE’_a%e’;

SELECT last_name
FROM employees
WHERE last_name LIKE ‘__a%’;

SELECT last_name
FROM employees
WHERE last_name LIKE ‘__a%’;

SELECT last_name,salary,department_id
FROM employees
#where department_id=50 and salary>6000;
#where salary between 6000 and 8000;
#where salary not between 6000 and 10000;
#WHERE commission_pct IS NULL;
WHERE commission_pct IS NOT NULL;

SELECT 12&5,12|5,12^5
FROM DUAL;
SELECT 10&~1;

#1.选择工资不在5000到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;
WHERE department_id IN(20,50);

#3.选择公司中没有管理者的员工姓名以及job_id
SELECT last_name,job_id
FROM employees
WHERE manager_id IS NULL;
#或 where manager_id <=>null;

#4.选择公司中没有奖金的员工姓名,工资和奖金级别
SELECT last_name,salary,commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
#或 where not manage_id<=>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’%k%a%';

#7.显示出表employees表中first_name以’e’结尾的员工信息
SELECT first_name,last_name
FROM employees
WHERE first_name LIKE’%e’;

#下边使用正则表达式 字母 表 示 以 什 么 字 母 结 尾 S E L E C T f i r s t n a m e , l a s t n a m e F R O M e m p l o y e e s W H E R E f i r s t n a m e R E G E X P ′ e 表示以什么字母结尾 SELECT first_name,last_name FROM employees WHERE first_name REGEXP 'e SELECTfirstname,lastnameFROMemployeesWHEREfirstnameREGEXPe’;

SELECT first_name,last_name
FROM employees
WHERE first_name RLIKE ‘e$’;

#8.显示出表employees部门编号在80到100之间的姓名,工种
SELECT last_name,job_id
FROM employees
WHERE department_id BETWEEN 80 AND 100;

#9.显示出表employees表中manage_id是100,101,110的员工信息,工资,管理者id
SELECT last_name,salary,manager_id
FROM employees
WHERE manager_id IN(100,101,110);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据小理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值