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

枣阳网站开发公司哪家好深圳坪山住房和建设局网站

枣阳网站开发公司哪家好,深圳坪山住房和建设局网站,学生可以做的网站兼职,音乐在线制作网站数据库相关链接#xff1a; 数据库--数据类型#xff1a;http://t.csdn.cn/RtqMD 数据库--三大范式、多表查询、函数sql#xff1a;http://t.csdn.cn/udJSG 数据库--MySQL增删改查#xff1a;http://t.csdn.cn/xkiti 一、一条sql语句通常包括#xff1a; select fro…数据库相关链接 数据库--数据类型http://t.csdn.cn/RtqMD 数据库--三大范式、多表查询、函数sqlhttp://t.csdn.cn/udJSG 数据库--MySQL增删改查http://t.csdn.cn/xkiti 一、一条sql语句通常包括 select   from   join   where   group by   having   order by   聚合函数   limit   top  not  and    or    二、浅谈执行顺序 1、首先确定一点并不是按照我们写的语句顺序从左—右执行的 2、获取结果集 ---- 指定查询的某些字段 -- 按照某些内容进行排序 首先 执行from join 确定表之间的关系得到初步的-----结果集1 where 对结果集1 进行筛选 得到–结果集2 group by 进行分组 --结果集3 对结果集3进行having筛选得到 ----结果集 4 指定查询的字段: select 指定需要查询的字段也可以是聚合函数 —结果去重 合并分组结果集并按照order by 的 条件进行排序 如果存在limit 或者top之类的话这是在最后才会执行的 三、实际问题and or mybatisplus遇到的and和or优先级的问题处理 需求 想在name{ 张三李四王五 }  中查找  密码88888 或者 年龄20的记录 SELECT id,user_name,password,name,age,email,birthday FROM tb_user WHERE password 88888 OR age 20 AND name IN (张三,李四,王五) java查询代码 使用MyBatisPlus查询 Testpublic void testLogicSelect(){QueryWrapperUser wrapper new QueryWrapper();wrapper.eq(password,88888).or().ge(age,20).in(name,张三,李四,王五);/*** SELECT id,user_name,password,name,age,email,birthday FROM tb_user* WHERE password ? OR age ? AND name IN (?,?,?)*/ListUser userList userMapper.selectList(wrapper);userList.forEach(System.out::println);} 查询结果  看似需求的sql查询代码没问题执行出来就发现问题为什么会有“赵六” User(id1, userNamezhangsan, password88888, name张三, age18, emailtest1yh.cn, birthday2019-09-26T11:42:01) User(id2, userNamelisi, password88888, name李四, age20, emailtest2yh.cn, birthday2019-10-01T11:42:08) User(id3, userNamewangwu, password88888, name王五, age28, emailtest3yh.cn, birthday2019-10-02T11:42:14) User(id4, userNamezhaoliu, password88888, name赵六, age21, emailtest4yh.cn, birthday2019-10-05T11:42:18) 问题的根本原因就是在于这个 AND 和 OR 的优先级。关系型运算符优先级高到低为NOT AND OR wrapper.eq(password,88888).or().ge(age,20).in(name,张三,李四,王五); 1.  先执行了后两句.ge(age,20)                 .in(name,张三,李四,王五); 2.  将1.执行结果和第一句进行or或运算 .eq(password,88888)                 .or()                 .ge(age,20)                 .in(name,张三,李四,王五); 解决方案 这里用到了lambda表达式从格式化后的代码也可以看出运算级别。 代码里的wp名字随便起但是不能是wrapper即不能是wrapper new QueryWrapper(); Testpublic void testLogicSelect() {QueryWrapperUser wrapper new QueryWrapper();wrapper.and(wp - wp //这里的wp名字随便起但是不能是wrapper即不能是wrapper new QueryWrapper();.eq(password, 88888).or().ge(age, 20)).in(name, 张三, 李四, 王五);/*** SELECT id,user_name,password,name,age,email,birthday FROM tb_user* WHERE password ? OR age ? AND name IN (?,?,?)*/ListUser userList userMapper.selectList(wrapper);userList.forEach(System.out::println);} 小结 第一句话从执行顺序中我们可以发现所有的查询语句都是从 FROM 开始执行的。 第二句话在实际执行过程中每个步骤都会为下一个步骤生成一个虚拟表这个虚拟表将作为下一个执行步骤的输入。  第三句话关系型运算符优先级高到低为NOT AND OR 看到这了点个赞再走吧
http://www.pierceye.com/news/615936/

相关文章:

  • wordpress云建站太仓网站建设网站推广
  • 辽宁网站推广的目的西安企业做网站多少钱
  • 重庆微信网站建设网站平台网站怎么做
  • 90设计网站几次是什么意思厦门建设工程信息网官网
  • 小说章节收费网站建设东莞网络营销网站建设
  • 找工作网站如何设计一款软件
  • 贵金属企业网站源码手机端网站加盟
  • 大连企业网站排名优化平面设计和网页设计
  • 广州网站建设工作室招聘文创产品设计分析
  • 产品是做网站seo网站设计费用
  • 公司网站的搭建方案做海报图片的网站
  • 纯文本网站建设小米发布会最新
  • 定制版网站建设费用网站服务器干啥
  • 漂亮的网站是什么建设出来的弄一个小程序要多少钱
  • 房地产网站模板 下载免费空间和域名
  • 通付盾 建设网站公司最新永久地域自动跳转
  • 宁波建网站选哪家好一点wordpress手机全部显示
  • 如何注册属于自己的网站做列表的网站
  • 网站公司seo杭州网站建设模板
  • 网站内链如何布局优化大师下载
  • 如何做网站需求表格清单电影购买网站怎么设计
  • 有口碑的常州网站建设家政公司网站建设方案
  • 用户体验设计师吉林网站seo
  • 便宜营销型网站建设优化建站多网站绑定域名
  • 什么网站教人做3d效果图网站建设电话销售不被挂断
  • 村级网站建设 不断增强免费logo设计图案创意
  • 做网站优化有什么途径什么类型的公司需要做建设网站的
  • 计算机毕设代做网站深圳自适应网站开发
  • 万网主机建设网站流程idc 网站备案
  • 收费用的网站怎么做珠海网站关键词推广