Mysql运算符

这篇具有很好参考价值的文章主要介绍了Mysql运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

比较运算符

< > = !

# = <=> <> != < <= > >=
SELECT 1 =1, 1 != 2, 1 = '1', 1 = 'a', 0 = 'a' # 字符串存在隐式转换,如果转换数值不成功,则看做0
FROM DUAL;

SELECT 'a' = 'a', 'ab' = 'ab', 'a' = 'b' # 两边都是字符串的话,则按照ANSI的比较规则进行比较
FROM DUAL;

SELECT 1 = NULL, NULL = NULL # 只要有null参与比较判断,结果就是null
FROM DUAL;

# <=>安全等于,为NULL而生
SELECT 1 <=> NULL, NULL <=> NULL # 只要有null参与比较判断,结果就是null
FROM DUAL;

IS NULL \ IS NOT NULL \ ISNULL

# 查询表中为null的数据
SELECT last_name,salary,commission_pct
FROM employees
WHERE commission_pct IS NULL;
# 查询表中为null的数据
SELECT last_name,salary,commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
# 查询表中并不为null的数据
SELECT last_name,salary,commission_pct
FROM employees
WHERE ISNULL(commission_pct);

LEAST() \ GREATEST() 查询数据大小(字典序)


SELECT LEAST('g','b','c','a'), GREATEST('g','b','c','a')
FROM DUAL;

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

BETWEEN…AND…


# 查询工资在6000到8000的员工工资
SELECT employee_id,last_name,salary
FROM employees
WHERE salary BETWEEN 6000 AND 8000;

IN (SET) \ NOT IN (SET)

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

LIKE 模糊查询

# % : 代表不确定个数的字符
# 查询last_name中包含字符包含‘a’的员工信息
SELECT last_name
FROM employees
WHERE last_name LIKE '%a%';
# 查询last_name中包含字符以‘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%';
# -:代表一个不确定的字符
# 查询第2个字符是‘a’的员工信息
SELECT last_name
FROM employees
WHERE last_name LIKE '_a%';
# 查询第2个字符是‘_’第3个字符是‘a’的员工信息
# 需要转义字符:\
SELECT last_name
FROM employees
WHERE last_name LIKE '_\_a%';

REGEXP \ RLIKE

# REGEXP \ RLIKE :正则表达式

逻辑运算符

逻辑运算符: OR (||)、AND (&&)、 NOT (!)、 XOR

# OR  AND (AND优先级高于OR)
SELECT last_name,salary,department_id
FROM employees
# WHERE department_id = 10 OR department_id = 20;
# WHERE department_id = 10 AND department_id = 20;
WHERE department_id = 50 AND salary > 6000;

# NOT
SELECT last_name,salary,department_id
FROM employees
# WHERE salary NOT BETWEEN 6000 AND 8000;
# WHERE commission_pct IS NOT NULL;
WHERE NOT commission_pct <=> NULL;

# XOR: 追求”异“
SELECT last_name,salary,department_id
FROM employees
WHERE department_id = 50 XOR salary > 6000;

位运算符

位运算符 & | ^ ~ >> <<


# & (都是1为1)  | (有1为1)  ^ (不同为1)
SELECT 12 & 5 ,12 | 5,12 ^ 5
FROM DUAL;

# ~ (逐位取反)
SELECT 10 & ~1
FROM DUAL;

# << (左移)  >> (右移)
SELECT 4 << 1, 8 >> 1
FROM DUAL;

排序

ORDER BY

# 使用对查询数据进行排序
# ASC (ascend) 正序
# DESC (descend) 逆序
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary ASC;#升序可以省略ASC

SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC;

# 可以使用列的别名进行排序 。别名只能在ORDER BY中使用,不能在WHERE中使用
SELECT employee_id,salary,salary * 12 annual_sal
FROM employees
ORDER BY annual_sal;

# WHERE需要在FROM之后,ORDER BY之前
SELECT employee_id,salary
FROM employees
WHERE department_id IN (50,60,70)
ORDER BY department_id DESC;

# 二级排序
SELECT employee_id,salary,department_id
FROM employees
ORDER BY department_id DESC, salary ASC;

分页

使用limit实现数据的分页显示

# 分页
SELECT employee_id,last_name
FROM employees
LIMIT 0,20;#LIMIT 偏移量,条目数

# WHERE...ORDER BY...LIMIT 声明顺序如下
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary
LIMIT 0,20;

# 显示第32,33条数据
SELECT employee_id,last_name
FROM employees
LIMIT 31,2;
# mysql 8.0新特性:LIMIT...OFFSET...
SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;#LIMIT 条目数 OFFSET 偏移量

# 查询员工表中工资最高的员工信息
SELECT *
FROM employees
ORDER BY salary DESC
LIMIT 1;

文章来源地址https://www.toymoban.com/news/detail-795475.html

到了这里,关于Mysql运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql运算符

    2024年01月16日
    浏览(38)
  • 25.2 MySQL 运算符

    运算符 名称 作用 示例 + 加法运算符 计算两个值或表达式的和 SELECT A + B - 减法运算符 计算两个值或表达式的差 SELECT A - B * 乘法运算符 计算两个值或表达式的乘积 SELECT A * B / 或 DIV 除法运算符 计算两个值或表达式的商 SELECT A / B 或者 SELECT A DIV B % 或 MOD 求模(求余)运算符 计算

    2024年02月08日
    浏览(26)
  • MySQL基础(四)运算符

    算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。 1.加法与减法运算符 由运算结果可以得出如下结论: 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数

    2024年02月03日
    浏览(28)
  • MySQL-04.运算符(基础)

    算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行 +,-,*,/,%运算。 1.1 加法和减法运算符 由运算结果可以得到以下结论 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数。 一个整数类型的值对浮点数进行加

    2024年02月05日
    浏览(31)
  • MySQL-运算符的使用解析

    MySQL支持各种类型的运算符,这些运算符可以用于处理数字、日期和字符串等不同类型的数据。 MySQL支持各种类型的运算符,这些运算符可以用于处理数字、日期和字符串等不同类型的数据。以下是一些MySQL支持的常用运算符: 算术运算符 :加号(+)、减号(-)、乘号(*)

    2023年04月25日
    浏览(36)
  • MySQL常用运算符详细介绍

     在 MySQL 中,可以通过运算符来获取表结构以外的另一种数据。例如,学生表中存在一个 birth 字段,这个字段表示学生的出生年份。如果想得到这个学生的实际年龄,可以使用 MySQL 中的算术运算符用当前的年份减学生出生的年份,求出的结果就是这个学生的实际年龄了。

    2024年02月08日
    浏览(32)
  • 走近mysql运算符|靠它就够啦

    = 判断等号两边的值,字符串或表达式是否相等,如果相等则返回1,不相等则返回0. 需要遵守如下规则: 1.如果等号两边都为字符串,则Mysql会按照字符串进行比较,其比较的是每个字符的ANSI编码是否相等。 2.如果等号两边都是整数。则会按照两个整数的值来比较大小。 3.如

    2024年02月09日
    浏览(25)
  • MySQL(七):一文带你学透 mysql运算符 (超详解)

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行

    2024年02月08日
    浏览(35)
  • 软件测试|MySQL逻辑运算符使用详解

    简介 在MySQL中,逻辑运算符用于处理布尔类型的数据,进行逻辑判断和组合条件。逻辑运算符主要包括AND、OR、NOT三种,它们可以帮助我们在查询和条件语句中进行复杂的逻辑操作。本文将详细介绍MySQL中逻辑运算符的使用方法和示例。 AND运算符 AND运算符用于将多个条件组合

    2024年01月21日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包