diff --git a/queries.md b/queries.md index c3c5329..4fe4d81 100644 --- a/queries.md +++ b/queries.md @@ -7,95 +7,119 @@ **1. Add the `solid` and `chartjs` libraries as new rows to the `jslibraries` table.** +INSERT INTO jslibraries(name) +VALUES ('solid') +INSERT INTO jslibraries(name) +VALUES ('chartjs')
**2. Get all the fields of the library that was released earliest (first).** - +SELECT * FROM jslibraries +WHERE release_date=(SELECT MIN(release_date) as earliest FROM jslibraries);
**3. Get all the fields of the library that was released most recently (last).** - +SELECT * FROM jslibraries +WHERE release_date=(SELECT MAX(release_date) as earliest FROM jslibraries);
**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) FROM jslibraries;
**10. Get the average number of `contributors` for all the libraries.** - +SELECT AVG(avg_contributors) FROM ( +SELECT count(contributors) as avg_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`.** +ALTER TABLE jslibraries +ALTER COLUMN used_by SET DATA TYPE VARCHAR(255); +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) +RETURNING *;
**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; +
\ No newline at end of file