利用Java理解sql的语法(实例讲解)

 更新时间:2017年11月21日 20:42:03   作者:java部落  
下面小编就为大家分享一篇利用Java理解sql的语法(实例讲解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

select 相当于 for 循环

select id from IDArray

LinkedList a = new LinkedList();
for ( int i=0 ; i<tableA.length ; i++){
  a.add(IDArray.get("id" ) );
}

return a;

当执行子查询时,可以理解为

select id, ( select name from nameArray) as names ,from Idarray

LinkedList a = new LinkedList();
for ( int i=0 ; i<tableA.length ; i++){
  a.add(IDArray.get("id" ) );
  for(int j=0 ; j<nameArray.length ; j++){
    a.add(namesArray.get("name")); 
  }
}

很明显这里一对多了。所以执行不对。报SQL错误

所以在 select中,应该要具体确定某一个值

select id, ( select name from nameArray where nameId=id) as names from Idarray

LinkedList a = new LinkedList();
for ( int i=0 ; i<tableA.length ; i++){
  Object object = IDArray.get("id" ) ;
 for ( int j=0 ; j<nameArray.length ; i++){
   if ( nameArray.get("nameId")==object){
    Object object2 = nameArray.get("nameId");
    a.add(object2); 
  }
}
    a.add(object); 
}

当且仅当if 条件的值搜索是单个值的时候,是对应上的

那么groupBy呢?

select id, ( select name from nameArray where nameId=id) as names from Idarray group by id

LinkedList a = new LinkedList();
for ( int i=0 ; i<tableA.length ; i++){
  Object object = IDArray.get("id" ) ;
 for ( int j=0 ; j<nameArray.length ; i++){
   if ( nameArray.get("nameId")==object){
    Object object2 = nameArray.get("nameId");
    a.add(object2); 
  }
}
    a.add(object); 
}
LinkedList groupByArray = new LinkedList();

for ( int i=0 ; i< a. length ; i++){
   int id = a[i].getId();
   LinkedList tempArray = new LinkedList();
   for ( int j=0 ; j<j.length ; j++){
    int temp = a[j].getId();
   if ( id==temp){
     tempArray.add(temp);
    }
  }
  groupByArray.add(tempArray);
}

以上这篇利用Java理解sql的语法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • SpringBoot集成Redis—使用RedisRepositories详解

    SpringBoot集成Redis—使用RedisRepositories详解

    这篇文章主要介绍了SpringBoot集成Redis—使用RedisRepositories详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • mybatis一对多查询功能

    mybatis一对多查询功能

    这篇文章主要介绍了mybatis一对多查询功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Java判断多个时间段是否重合的方法小结

    Java判断多个时间段是否重合的方法小结

    这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • Spring Boot 根据配置决定服务(集群、单机)是否使用某些主件的操作代码

    Spring Boot 根据配置决定服务(集群、单机)是否使用某些主件的操作代码

    这篇文章主要介绍了Spring Boot根据配置决定服务(集群、单机)是否使用某些主件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-04-04
  • springSecurity+jwt使用小结

    springSecurity+jwt使用小结

    本文介绍了使用Spring Security与JWT进行身份验证和授权,实现用户认证和授权的详细流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • Java中的CurrentHashMap源码详解

    Java中的CurrentHashMap源码详解

    这篇文章主要介绍了Java中的CurrentHashMap源码详解,HashMap是数组+链表构成的,JDK1.8之后,加入了红黑树,HashMap默认数组初始化大小为16,如果瞎设置数字,它会自动调整成2的倍数,需要的朋友可以参考下
    2023-12-12
  • 浅谈MyBatis执行SQL的两种方式

    浅谈MyBatis执行SQL的两种方式

    本文介绍MyBatis执行SQL语句的2种方式,主要是SqlSession和Mapper接口以及它们的区别,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Java设计模式之策略模式示例详解

    Java设计模式之策略模式示例详解

    这篇文章主要为大家详细介绍了Java的策略模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • SpringBoot如何使用feign实现远程接口调用和错误熔断

    SpringBoot如何使用feign实现远程接口调用和错误熔断

    这篇文章主要介绍了SpringBoot如何使用feign实现远程接口调用和错误熔断,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java MD5加密实现代码

    java MD5加密实现代码

    这篇文章主要为大家详细介绍了java MD5加密实现过程,为大家分享了MD5加密代码,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论