我想將SQL查詢轉換爲JSONiq查詢,是否已經有一個實現,如果沒有,我需要知道什麼才能創建一個可以執行此操作的程序?SQL查詢到JSONiq查詢
1
A
回答
1
我不知道有一個實現,但是,它在技術上是可行和簡單的。 JSONiq擁有90%的DNA來自XQuery,它本身也部分由參與SQL的人員設計。
從數據模型的角度看,一個表被映射到一個收集和表中的每一行被映射到一個平坦JSON對象,也就是說,所有字段都是原子值,如下所示:
{
"Name" : "Turing",
"First" : "Alan",
"Job" : "Inventor"
}
然後,通過將SELECT-FROM-WHERE查詢轉換爲提供SQL功能超集的FLWOR表達式來完成映射。
例如:
SELECT Name, First
FROM people
WHERE Job = "Inventor"
可以映射到:
for $person in collection("people")
where $person.job eq "Inventor"
return project($person, ("Name", "First"))
更爲複雜的查詢,也可以映射相當直向前:
SELECT Name, COUNT(*)
FROM people
WHERE Job = "Inventor"
GROUP BY Name
HAVING COUNT(*) >= 2
到:
for $person in collection("people")
where $person.job eq "Inventor"
group by $name := $person.name
where count($person) ge 2
return {
name: $name,
count: count($person)
}
其實,如果for
被稱爲from
和return
被稱爲select
,如果這些關鍵字寫大寫字母,JSONiq的語法將非常類似於SQL的:它是唯一的化妝品。
+0
感謝您的詳細解答,我現在不能因爲我的聲譽而高舉您的答案,但我會盡我所能, – user203788
相關問題
- 1. SQL查詢到Django查詢
- 2. SQL查詢輸出到SQL查詢
- 3. SQL查詢查詢
- 4. 的Hibernate查詢到SQL查詢
- 5. SQL查詢到LINQ查詢語法
- 6. SQL Server查詢到MySQL查詢轉換
- 7. SQL Server查詢到Oracle查詢轉換
- 8. SQL查詢到Laravel查詢生成器
- 9. 轉換SQL查詢到MongoDB的查詢
- 10. 基礎 - SQL查詢到LINQ查詢
- 11. SQL Server查詢到MySQL查詢
- 12. SQL Server查詢到LINQ查詢
- 13. SQL自加入查詢到LINQ查詢
- 14. MySQL查詢到SQL Server查詢
- 15. SQL查詢到休眠ORM查詢
- 16. Coverting SQL查詢到蜂巢查詢
- 17. SQL查詢與聯接到Linq查詢
- 18. SQL查詢,子查詢減子查詢?
- 19. SQL查詢到Linq到SQL
- 20. SQL查詢到表
- 21. SQL - 查詢到JSON
- 22. SQL查詢到excel
- 23. LINQ到SQL查詢
- 24. SQL查詢到txt
- 25. sql查詢到Linq
- 26. Activerecord查詢到SQL
- 27. SQL查詢到XML?
- 28. SQL查詢 - 與子查詢
- 29. SQL查詢/子查詢
- 30. 查詢SQL查詢除了
你對JSONIQ瞭解多少? – McNets
截至目前,我什麼都不知道,我只知道它是XQuery的JSON文件 – user203788