diff --git a/queries.md b/queries.md index c3c5329..ab7fe95 100644 --- a/queries.md +++ b/queries.md @@ -8,93 +8,162 @@ +INSERT INTO jslibraries (name, owner, description, stars, url, releases, licence, used_by, contributors, main_technology, type, release_date) +VALUES ( +'solid', +'solidjs', +'A declarative, efficient, and flexible JavaScript library for building user interfaces.', +10700, +'solidjs.com', +194, +'MIT License', +624, +73, +'typescript', +'UI Library', +'2011-08-13' +); +INSERT INTO jslibraries (name, owner, description, stars, url, releases, licence, used_by, contributors, main_technology, type, release_date) +VALUES ( +'chartjs', +'chartjs', +'Simple HTML5 Charts using the canvas tag.', +54700, +'chartjs.org', +85, +'MIT License', +414000, +377, +'javascript', +'Charts Library', +'2011-11-02' +);
**2. Get all the fields of the library that was released earliest (first).** +SELECT \* +FROM jslibraries +ORDER BY release_date +LIMIT 1;
**3. Get all the fields of the library that was released most recently (last).** +SELECT \* +FROM jslibraries +ORDER BY release_date DESC +LIMIT 1;
**4. All the libraries released before 2015.** +SELECT \* +FROM jslibraries +WHERE release_date < '2015-01-01';
**5. Get the `name` and the `release_date` of the libraries without a licence.** +SELECT name, release_date +FROM jslibraries +WHERE licence IS NULL;
**6. Get the `name` and the `stars` from all CSS Framework libraries.** - - +SELECT name, stars +FROM jslibraries +WHERE type = 'CSS Framework';
**7. Get the `name` of the libraries where the main technology is Typescript.** +SELECT name +FROM jslibraries +WHERE main_technology = 'typescript';
**8. Get the `name` and the `type` of all the libraries with more than 1000 contributors.** +SELECT name, type +FROM jslibraries +WHERE contributors > 1000;
**9. Get the total number of `stars` of all the libraries.** +SELECT SUM(stars) AS total_stars +FROM jslibraries;
**10. Get the average number of `contributors` for all the libraries.** +SELECT AVG(contributors) AS average_contributors +FROM jslibraries;
**11. Update the `licence` field of the libriaries without a licence to store `'unknown'` instead of `NULL`.** +UPDATE jslibraries +SET licence = 'unknown' +WHERE licence IS NULL;
**12. Update the `used_by` field of the libraries that don't have this information to store `'unknown'` instead of `NULL`.** +UPDATE jslibraries +SET used_by = 'unknown' +WHERE used_by IS NULL;
**13. Update all the records to capitalize the string provided in the `main_technology` field.** +UPDATE jslibraries +SET main_technology = INITCAP(main_technology);
**14. Delete all the records where `licence` is `'unknown'`.** +DELETE FROM jslibraries +WHERE licence = 'unknown';
**15. Delete all the records with 10000 or less `stars`.** +DELETE FROM jslibraries +WHERE stars <= 10000;
**16. Delete all the records with less than 100 `releases`.** +DELETE FROM jslibraries +WHERE releases < 100;