利用Java理解sql的語法(實(shí)例講解)
select 相當(dāng)于 for 循環(huán)
select id from IDArray LinkedList a = new LinkedList(); for ( int i=0 ; i<tableA.length ; i++){ a.add(IDArray.get("id" ) ); } return a;
當(dāng)執(zhí)行子查詢時(shí),可以理解為
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")); } }
很明顯這里一對多了。所以執(zhí)行不對。報(bào)SQL錯(cuò)誤
所以在 select中,應(yīng)該要具體確定某一個(gè)值
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); }
當(dāng)且僅當(dāng)if 條件的值搜索是單個(gè)值的時(shí)候,是對應(yīng)上的
那么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的語法(實(shí)例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Maven項(xiàng)目本地公共common包緩存問題
這篇文章主要介紹了解決Maven項(xiàng)目本地公共common包緩存問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Maven修改運(yùn)行環(huán)境配置代碼實(shí)例
這篇文章主要介紹了Maven修改運(yùn)行環(huán)境配置代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04java 取交集方法retainAll的實(shí)現(xiàn)
這篇文章主要介紹了java 取交集方法retainAll的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Java實(shí)現(xiàn)鎖定某個(gè)變量的幾種方式示例詳解
這篇文章主要為大家介紹了Java實(shí)現(xiàn)鎖某個(gè)變量的幾種方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09如何解決springboot數(shù)據(jù)庫查詢時(shí)出現(xiàn)的時(shí)區(qū)差異問題
這篇文章主要介紹了如何解決springboot數(shù)據(jù)庫查詢時(shí)出現(xiàn)的時(shí)區(qū)差異問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01