diff --git a/queries.md b/queries.md index c3c5329..7305b80 100644 --- a/queries.md +++ b/queries.md @@ -8,94 +8,149 @@ +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'), +('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 ASC LIMIT 5;
**3. Get all the fields of the library that was released most recently (last).** +SELECT \* FROM jslibraries ORDER BY release_date DESC; +
**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 OR licence = '' OR licence = 'unknown'; +
**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 ILIKE '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 OR licence = ''; +
**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 = -1 +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; +