当前位置: 首页 > 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.dnsts.com.cn/news/178254.html

相关文章:

  • 龙岗网站 建设深圳信科建设网站部署环境
  • 可信赖的常州网站建设网站建设实现后台数据导出excel
  • 尧都网站建设tq网站建设
  • 易企互联网站建设推广怎么做才可以赚钱
  • 我要自学网网站南京做网站的
  • 网站开发毕业设计说明陕西网渭南站
  • 商丘网站制作费用app优化
  • 个人网站备案网址wordpress spa
  • 怎么用dw做地图网站公司官网制作多少钱
  • 学做电商网站设计wordpress折腾
  • 天津自贸区建设局网站wordpress 匿名投票
  • 网站重新建设的申请书wordpress qq主题下载失败
  • 宜宾网站制作asp程序设计做网站
  • 非盈利性备案网站 淘宝客网站网站网络设计是怎么做的
  • 广安门外网站建设建设云南省癌症中心网站
  • 义乌论坛网站建设湖州公司网站建设
  • 商城网站设计服务如何进行电商网站设计开发
  • 公司网站建设详细方案网站建设费用明细湖南岚鸿
  • 购物网站如何建设商标买卖
  • 哪个网站可以免费做电子请柬wordpress上传文档
  • 网站设计在线培训机构网络服务类型及其采用的网络协议
  • 南阳网站排名优化公司微信电影网站建设教程
  • 个人网站 百度收录《梦幻西游》官网
  • 网站的整体风格包括怎样做软件开发
  • 网站建设中问题分析与解决网络销售模式 自建网站
  • 如何在阿里云云服务器上搭建网站公司官网怎么弄
  • 旅游网站设计规划书Python爬取wordpress
  • 传诚信网站建设公司如何建设网站
  • 网站公司做网站修改会收费吗烟台网站制作策划
  • 朝阳住房和城乡建设官方网站全球网站排名