Step 18 of 18 of the SQL tutorial. SQL has no natural nesting: the four-level NMR join returns a rectangle, so ethyl tetrahydropyran-4-ylacetate comes back as 11 rows for 1 spectrum, 5 ranges, 6 signals and 11 couplings, its name repeated on every one. Mango has the nesting for free — one document, the whole spectrum inside it — and no join between documents, no aggregate, no HAVING. So the question decides the language: counting and combining is SQL, handing a whole compound to a program is Mango. Same 541 compounds, two shapes, and neither shape is the data.
It opens on the query SELECT c.preferred_name, COUNT(*) AS rows_returned, COUNT(DISTINCT s.id) AS spectra, COUNT(DISTINCT r.id) AS ranges, COUNT(DISTINCT g.id) AS signals, COUNT(DISTINCT k.id) AS couplings FROM nmr_spectra s JOIN nmr_ranges r ON r.nmr_spectrum_id = s.id JOIN nmr_signals g ON g.nmr_range_id = r.id JOIN nmr_couplings k ON k.nmr_signal_id = g.id JOIN compounds c ON c.id = s.compound_id GROUP BY c.id ORDER BY rows_returned DESC LIMIT 10, which you can run and change in place.
Ask the same question of a chemical dataset in SQL and in Mango and compare the two answers. The database is a SQLite file your browser downloads once and queries locally, so nothing you write ever leaves your machine — which is also why the tool needs JavaScript.