You can try Alasql JavaScript SQL database library. It supports all important SQL
statements and can work with IndexedDB with SQL syntax as well.
Here is an example:
<script src='alasql.min.js'></script>
<script>
var cityData = [{city:"Redmond", population:57530},
{city:"Atlanta",population:447841},
{city:"San Francisco", population:837442}];
// Create IndexdDB database and fill it with data from array
alasql('CREATE INDEXEDDB DATABASE IF NOT EXISTS geo;\
ATTACH INDEXEDDB DATABASE geo; \
USE geo; \
DROP TABLE IF EXISTS cities; \
CREATE TABLE cities; \
SELECT * INTO cities FROM ?', [cityData], function(){
// Select data from IndexedDB
alasql('SELECT COLUMN * FROM cities WHERE population > 100000 ORDER BY city DESC',
[],function(res){
document.write('Big cities: ', res.join(','));
});
});
</script>
You can play with this example in jsFiddle