SQL比较运算符与常用条件关键字

文章目录

  • 1 SQL比较运算符
    • 1.1 = 与!=
    • 1.2 <=>:安全等于(为NULL而生)
  • 2 常用条件关键字
    • 2.1 关于NULL
    • 2.2 最大与最大
      • 2.2.1 最小:LEAST()
      • 2.2.2 最大:GREATEST()
    • 2.3 BETWEEN...END
    • 2.4 in (set)\not in (set)
    • 2.5 LIKE(模糊查询)
    • 2.6 REGEXP \ RLIKE(正则表达式)

1 SQL比较运算符

1.1 = 与!=

-- 不满足条件为0,0为flase,,满足条件为1,1为true
SELECT
	1 = 2,
	1 != 2,
	1 = '1',
	1 = 'a',
	0 = 'a'-- 如果比较的类型不能转为数值,则默认隐式转换为0
FROM
	DUAL;

在这里插入图片描述

-- 如果是字符比较,则不会发生隐式转换
SELECT
	'a' = 'a',
	'ab' = 'ab',
	'b' = 'a'
FROM
	DUAL;

在这里插入图片描述

-- 只要有NULL参与,结果就是NULL
SELECT
	'a' = NULL,
	NULL = NULL,
	1 = NULL
FROM
	DUAL;

在这里插入图片描述

1.2 <=>:安全等于(为NULL而生)

-- 在没有NULL参与的情况下跟=是一样的
SELECT
	1 <=> 2,
	1 <=> '1',
	1 <=> 'a',
	0 <=> 'a'
FROM
	DUAL;

在这里插入图片描述

-- <=>可以判断两个是否是NULL
SELECT
	1 <=> NULL,
	NULL <=> NULL
FROM
	DUAL;

在这里插入图片描述

2 常用条件关键字

2.1 关于NULL

  • ISNULL()
  • IS NULL
  • IS NOT NULL

2.2 最大与最大

2.2.1 最小:LEAST()

-- 求多数中最小的值
SELECT
	LEAST(1, 2,-1)
FROM
	DUAL;

在这里插入图片描述

2.2.2 最大:GREATEST()

-- 求多数中最大的值
SELECT
	GREATEST(1, 2,-1)
FROM
	DUAL;

在这里插入图片描述

2.3 BETWEEN…END

-- 求出salary在6000到8000之间的数据
SELECT
	*
FROM
	employees
WHERE
	salary BETWEEN 6000
AND 8000;

2.4 in (set)\not in (set)

在不在某个集合范围之内

2.5 LIKE(模糊查询)

  • _:代表一个字符
  • %:代表一段字符

2.6 REGEXP \ RLIKE(正则表达式)

SQL比较运算符与常用条件关键字_第1张图片SQL比较运算符与常用条件关键字_第2张图片SQL比较运算符与常用条件关键字_第3张图片SQL比较运算符与常用条件关键字_第4张图片

你可能感兴趣的:(数据库,sql,数据库,database)