利用Java理解sql的语法(实例讲解)
作者:java部落 发布时间:2023-02-16 06:18:06
标签:sql,语法,Java
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);
}
来源:http://www.cnblogs.com/wl2014/p/7865796.html


猜你喜欢
- Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,
- 所谓的浮动工具栏,效果图如下:也就是说,可以将工具栏拖出其原先的停靠位置,而且可以将拖出来的工具栏再拖放回去。实现的基本思路如下1、拖动出来
- 前言通常在DAL层我们都需要把DataTable转换为List<T>让调用者尽可能的好用,尽量的不用关心数据库的字段等,所以我们
- Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样
- 方式一: 配置文件 application.propertiesserver.port=7788方式二: java启动命令# 以应用参数的方
- 本文实例为大家分享了AnAndroid图片无限轮播的具体代码,供大家参考,具体内容如下public class MainActivity e
- 文档合并是一种高效文档处理方式。如果能够有一个方法能将多种不同类型的文档合并成一种文档格式,那么在文档存储管理上将为我们提供极大的便利。因此
- Main方法如下:static void Main(string[] args){ dynamic st
- 在Android中偶尔会用到开关,Switch就是一个简单易使用的不错的控件。首先,在布局中添加上Switch控件:<Switch &
- 一、编译环境spring5.0.x源码gradle4.9jdk1.8_151IntelliJ IDEA 2020.1二、安装gradle1、
- 今天介绍一个自己做的快递单号查询的简单APP,供大家参考。由于需要使用http和json,本文在build.gradle(module:ap
- Java集合删除元素ArrayList实例详解AbstractCollection集合类中有一个remove方法,该方法为了适配多种不同的集
- 经常遇到的问题在实际得开发过程中,我们经常会遇到以下场景,我们后端请求某个接口后获取到得数据,不希望将所有字段都返回给前端,那么我们需要封装
- 我在 android里面 使用html5的 localStorage 为什么存不进去也读不出来呀?网上搜了好多都没效果mainWebView
- 此问题的产生,主要是数据库的字段名一样导致三张表 DOCTOR JOB OBJECT有问题的查询语句和查询结果是:SELECT d.*,j.
- 概念所谓回文串,就是字符串反转以后和原串相同,如 abba 和 lippil。对于回文串还是比较容易去验证的,从字符数组的两端开始向中间靠拢
- 一、主从复制RocketMQ为了提高消费的高可用性,避免Broker发生单点故障引起Broker上的消息无法及时消费,同时避免单个机器上硬盘
- Feign多参数传递及注意的问题这边沿用前面的Eureka,Feign,Service在服务提供者cloud-shop-userservic
- tk.mybatis扩展自己的通用mapper目的:tk.mybatis 提供的通用mapper,虽然使用方便,不过在有些sql还是不能满足
- Bezier Curve算法是根据参数曲线方程来得到光滑曲线的一种算法,曲线方程的参数由控制点决定。其本质是由调和函数根据控制点插值而成,其