当前位置: 首页 > news >正文

顺德高端网站机关网站建设建议

顺德高端网站,机关网站建设建议,有没有哪个网站可以做LCM模组,抚州免费注册公司MySQL 运算符详解:逻辑、位运算与正则表达式应用 在 MySQL 中,运算符是构建复杂查询条件的基础。除了基础的算术和比较运算符,逻辑运算符、位运算符以及正则表达式的灵活运用,能让数据筛选更加精准高效。本文将系统讲解这些运算符…

MySQL 运算符详解:逻辑、位运算与正则表达式应用

在 MySQL 中,运算符是构建复杂查询条件的基础。除了基础的算术和比较运算符,逻辑运算符、位运算符以及正则表达式的灵活运用,能让数据筛选更加精准高效。本文将系统讲解这些运算符的用法、规则及实战技巧,帮助你掌握复杂查询的核心技能。

一、逻辑运算符:多条件组合的核心

逻辑运算符用于组合多个条件,判断表达式的真假,返回结果为1(真)、0(假)或NULL(未知)。常用的有四种:

1. 逻辑非(NOT / !)

作用:对条件结果取反

语法:NOT 条件 或 ! 条件

规则

  • 条件为0(假)时返回1;

  • 条件为非0(真)时返回0;

  • 条件为NULL时返回NULL。

示例

-- 查询薪资不在9000-12000之间的员工
SELECT employee_id, salary 
FROM employees 
WHERE NOT (salary >= 9000 AND salary <= 12000);

2. 逻辑与(AND / &&)

作用:所有条件同时为真时返回1

语法:条件1 AND 条件2 或 条件1 && 条件2

规则

  • 所有条件非0且非NULL时返回1;

  • 任意条件为0时返回0;

  • 存在NULL且无0时返回NULL。

示例

-- 查询部门30中薪资>5000的员工
SELECT last_name, salary 
FROM employees 
WHERE department_id = 30 AND salary > 5000;

3. 逻辑或(OR / ||)

作用:任意条件为真时返回1

语法:条件1 OR 条件2 或 条件1 || 条件2

规则

  • 任意条件非0时返回1;

  • 所有条件为0时返回0;

  • 存在NULL且无真条件时返回NULL。

注意:AND优先级高于OR,建议用括号明确逻辑

示例

-- 正确:查询薪资>10000 或 (岗位含MAN且薪资>5000)的员工
SELECT last_name, job_id, salary 
FROM employees 
WHERE salary > 10000 OR (job_id LIKE '%MAN%' AND salary > 5000);

4. 逻辑异或(XOR)

作用:两个条件一真一假时返回1(“异” 即不同)

语法:条件1 XOR 条件2

规则

  • 一真一假(非0和0)时返回1;

  • 同真或同假时返回0;

  • 任意条件为NULL时返回NULL。

示例

-- 查询部门为10/20 或 薪资>8000,但不同时满足的员工
SELECT last_name, department_id, salary 
FROM employees 
WHERE department_id IN (10, 20) XOR salary > 8000;

二、位运算符:二进制层面的运算

位运算符直接对数值的二进制位进行操作,适用于底层数据处理(如权限控制)。运算时先将数值转为二进制,计算后再转回十进制。

运算符名称作用说明示例(6→110,3→011)
&按位与对应位都为 1 则返回 1,否则 06 & 3 = 2(110 & 011=010)
||按位或对应位有一个为 1 则返回 1,否则 0
^按位异或对应位不同则返回 1,相同则 06 ^ 3 = 5(110 ^ 011=101)
~按位取反0→1,1→0(结果为原数的补码)~6 = -7(补码运算)
>>按位右移二进制位右移指定位数,高位补 06 >> 1 = 3(110→11)
<<按位左移二进制位左移指定位数,低位补 06 << 1 = 12(110→1100)

示例

-- 判断权限位是否包含某角色(假设8对应二进制1000,代表管理员权限)
SELECT user_id, role_bits 
FROM users 
WHERE (role_bits & 8) = 8;  -- 结果为8表示包含管理员权限

三、运算符优先级:避免逻辑混乱

运算符优先级决定计算顺序,优先级高的先执行。记不清时,用括号**()**强制指定顺序(推荐)。

优先级从高到低(核心)

  1. 括号()(最高)

  2. 位运算符(~、<<、>>、&、^、|)

  3. 算术运算符(*、/、% 高于 +、-)

  4. 比较运算符(=、>、BETWEEN、IN等)

  5. 逻辑运算符(NOT > AND > OR、XOR)

  6. 赋值运算符(=,最低)

示例

-- 错误:因AND优先级高,可能不符合预期
SELECT * FROM employees WHERE salary>5000 OR salary<3000 AND department_id=30;-- 正确:用括号明确先算OR的两边
SELECT * FROM employees WHERE (salary>5000 OR salary<3000) AND department_id=30;

四、正则表达式:复杂字符串匹配

REGEXP支持灵活的字符串模式匹配,比LIKE更适合复杂场景。常用匹配规则如下:

模式符号作用示例
^匹配开头‘^b’ 匹配以 b 开头的字符串
$匹配结尾‘y$’ 匹配以 y 结尾的字符串
.匹配任意单个字符‘a.g’ 匹配 a 和 g 之间有一个任意字符
*匹配前面字符 0 次或多次‘ba*’ 匹配 b 后接 0 个或多个 a(b、ba 等)
+匹配前面字符至少 1 次‘ba+’ 匹配 b 后接 1 个或多个 a(ba、baa)
``匹配多个选项之一
[]匹配括号内任意单个字符‘[ot]’ 匹配 o 或 t
[^]匹配括号外任意字符‘[^0-9]’ 匹配非数字字符
{n,}匹配前面字符至少 n 次‘x{2,}’ 匹配 x 至少出现 2 次
{n,m}匹配前面字符 n 到 m 次‘ba{1,3}’ 匹配 ba、baa、baaa

示例

-- 1. 匹配以b开头且后面有至少1个a的字符串
SELECT f_name FROM fruits WHERE f_name REGEXP '^ba+';-- 2. 匹配包含on或ap的字符串
SELECT f_name FROM fruits WHERE f_name REGEXP 'on|ap';-- 3. 匹配x连续出现至少2次的字符串
SELECT f_name FROM fruits WHERE f_name REGEXP 'x{2,}';

与 LIKE 的区别

  • REGEXP匹配字符串中任意位置的模式(如’bon’ REGEXP 'on’返回 1);

  • LIKE需用通配符才能匹配中间内容(如’bon’ LIKE '%on%'才返回 1)。

五、总结:核心要点速览

  1. 逻辑运算符
    • NOT取反,AND需全真,OR需一真,XOR需一真一假;
    • 注意AND优先级高于OR,用括号明确逻辑。
  1. 位运算符
    • 对二进制位操作,适用于权限控制等底层场景;
    • 常用&(判断位是否为 1)、<</>>(移位运算)。
  1. 优先级
    • 括号最高,赋值最低;不确定时用括号强制顺序。
  1. 正则表达式
    • REGEXP支持复杂模式匹配,灵活度远超LIKE;
    • 掌握^/$/[]/{}等符号,可应对多数字符串筛选需求。

熟练运用这些运算符,能让你在处理多条件查询和复杂字符串匹配时更加得心应手,写出高效、精准的 SQL 语句。

http://www.dtcms.com/a/422394.html

相关文章:

  • 百度网站检测中国建设监理协会网站查询成绩
  • 好的网站或网页国外网站推荐
  • 做婚恋网站代理商挣钱吗关于网站建设的技巧
  • 太原哪里做网站好考证培训机构报名网站
  • 网站开发html5企业oa系统价格
  • 招网站开发人员软件技术特点
  • 第二课强登陆网站新型智库建设的意见网页设计制作导航栏
  • 论述网站建设流程公司ppt简介模板
  • 怎么看网站有没有做百度推广动漫网页设计作品欣赏
  • 现在的网站使用frameset做吗昆明网页制作开发
  • 茌平网站建设菜谱制作外贸网站建设谷歌推广
  • 做网站需要哪些知识淘宝可做的团购网站
  • 网站负责人不是法人微信上发的链接网站怎么做的
  • 防伪码查询网站怎么做的商务网站建设中的必备功能
  • seo网站推广软件排名wordpress文章生成分享图片插件
  • xml网站地图生成器扬州网站建设公元国际
  • 黄页网站推广服务网页设计案例欣赏
  • 高安网站设计网站审核文件
  • 零代码建站佛山网站建设在哪找
  • 深圳网站建设制作设计企业百度地图怎么看上次导航的路线
  • 中国建设教育协会网站查企业邮箱使用方法
  • 烟台消防建设信息网站cd.wordpress.ncn
  • 哪个网站上可以做代打哪些网站需要备案
  • 中山百度网站推广聊城做wap网站找谁
  • 企业网站程序制作wordpress引用文件
  • 广东省著名商标在什么网站做网站商品支付怎么做
  • 营销网站制作免费咨询找印度人做网站
  • 那个网站做图片好看的做英文的小说网站
  • 国内flex做的网站网页设计实训班
  • 上海网站建设 迈若在线绘画网站