From 489a75afd096790b11a2688ed578b44df2cb5227 Mon Sep 17 00:00:00 2001 From: David Date: Tue, 4 Sep 2018 15:56:36 -0700 Subject: [PATCH 1/2] day one done --- day1.db | Bin 0 -> 6144 bytes day1.sql | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ tables.sql | 21 +++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 day1.db create mode 100644 day1.sql create mode 100644 tables.sql diff --git a/day1.db b/day1.db new file mode 100644 index 0000000000000000000000000000000000000000..662840018f289cf72fbc5f72ae6d121af49c0e48 GIT binary patch literal 6144 zcmeH~PiPZC6vk)f%_b(bYSp^C3BsThnzkZITB~?5wp&|F)0(70FNRIK;?gu}vl~ip z#*^N?c=94%JqhBeAb1e;E~t1=#ET#(N>9%INo~rml8a!w4|ZpEelxRgK4zA03s^7iuQt}ZOuH=!*XyU9&s z+nlrcsp(99o?TYvS!S*{GnM0`rj=aL$-&gkipH*H@?(>ke19@^Ho{Twl9Tb52+$7xp8WuGjgiCGd72M6)I{bpme!jDPG&{i8-bwS(l2yMCS zfc@4>hWN-tvj;nhV`nw?Hn47_ZM?lbI$p|O6|ZZ20~%Usoo~a|Hi{QJ^S|3XK)5&c+*M!_-z-#`-42C`BX00h6j;FRRr>hlDpopy;&A z#&u(%=7OiagadcBiAHs4-2pP@FLC>4)-^kg;QvAcA?bZ8HSt{BI!m054%<*DO3(NT9%;P@oF{9iLRItWc}edI_Lp zR?}5xnFaHP#+0?%k`cpz&Sx7-+E(*;y{0dkwW?-V=U>7V%m2TCM{pO`p#%yHLJ#>t z-jZkJA-O{;WQL?jFaC+&;0^o$-{u2?=vaZ6MA0a2_j*O^x0{U!G0~3=3$bHjal*SMH!ZS49;|oV<{E#mkrtyQmFiqnJd|`^lyM1Aj zO8dFHZOLl8VP_p_kh;7{3Z$qvNrDvlO&kmD%r;D(Nl0@dle>CE3 zhL$IHH-pTrzc(6|x%2l%X_= 1975); + +-- Show all albums whose names start with `Super D`. +SELECT * FROM album +WHERE title LIKE "Super D%"; + +-- Show all albums that have no release year. +SELECT * FROM album +WHERE release_year IS NULL; + + +-- Show all track titles from `Super Funky Album`. + +SELECT track.title FROM track,album +WHERE album.title = 'Super Funky Album' +AND album_id = album.id; + +-- Same query as above, but rename the column from `title` to `Track_Title` in the output. + +SELECT track.title AS Track_Title +FROM track,album +WHERE album.title = 'Super Funky Album' +AND album_id = album.id + +-- Select all album titles by `Han Solo`. +AND artist.name= 'Han Solo'; + +SELECT * FROM artist, artist_album +WHERE artist.id = artist_id + +-- Select the average year all albums were released. +SELECT avg(release_year) +FROM album; + +-- Select the average year all albums by `Leia and the Ewoks` were released. + +SELECT AVG(release_year) +FROM artist, album, artist_album +WHERE artist.id = artist_album.artist_id +AND album.id = artist_album.album_id +AND artist.name = 'Leia and the Ewoks'; + +-- Select the number of artists + +SELECT count(id) +FROM artist; + +-- Select the number of tracks on `Super Dubstep Album`. + +SELECT count(track.id) +FROM track, album +WHERE album.title = "Super Dubstep Album"; \ No newline at end of file diff --git a/tables.sql b/tables.sql new file mode 100644 index 0000000..9bec9d0 --- /dev/null +++ b/tables.sql @@ -0,0 +1,21 @@ +CREATE TABLE album ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + release_year INTEGER +); + +CREATE TABLE artist ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(128) NOT NULL +); + +CREATE TABLE track ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + album_id INTEGER REFERENCES album(id) +); + +CREATE TABLE artist_album ( + artist_id INTEGER REFERENCES artist(id), + album_id INTEGER REFERENCES album(id) +); \ No newline at end of file From f456bc3219c3a47119f46b361bf165a24c3a54dd Mon Sep 17 00:00:00 2001 From: David Date: Tue, 4 Sep 2018 22:46:21 -0700 Subject: [PATCH 2/2] day2 done --- notes.db | Bin 0 -> 4096 bytes notes.sql | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 notes.db create mode 100644 notes.sql diff --git a/notes.db b/notes.db new file mode 100644 index 0000000000000000000000000000000000000000..837601a214c719e35a527a57ced818742092890b GIT binary patch literal 4096 zcmeHK%}(1u5Z?8=PO+4V3qrX~RaLP?q9zWY0HwtZ8wyPfH4YLdv?SXml4AogwDcCW z57kSh_6hn3z4uV5QXinZ4uk{+q#lbr^8U?uzM1{x_3rMzu5}^~Z^Dx#5cIfjUjN+nJ zTxxq1Jo`nBg4BYccUrLNcyxohu;XslZFe7D(S5KR-u9*=9O~5Za(dK>d=7iITX{)c zqiB^)aJD^g8ns$ZZ-#*g5Dm<>YgmPa#ZfyujoRVK!AK;RR;f#!3f+Z)(de{H8Kuj6 z5$hhoy3BK(R_#X31Ea+vE^S6O2;XIMkoChR^Q9(hn!358XtQ&3ct4(O@7Nd1=b*=r zPkGSf*M?+_f@?-2U|pUQp5_Ofn$2Wze>;X8q&TRRF@THYb%2q{-9jT=O!q)W8uGO` zf5nz=#*3VMLF5lFBiO3&OC6X|ZFmOj1xUY~IERSI+9g_?m z941t`{!_{mM81(esSvDuRo;tXA_)VN7}!W@D8GSAw)l|R`~(iqA>LiQcBcp8VHf)N zxPNI>tU|GzFD&H?^I%!arNXkcP}L;R)F@EAFWm$b8^>|1@^aC7eosSlOJfPi?QaM( zxOj+6q?SwoSW`7*uHup-FDUVQayy;mFZJpKgr`J9k3|Ys2>%lQnWCZW%9Zyxox}8F X^)(`60#>o~pBhFVXL0C%6MugJdMPo9 literal 0 HcmV?d00001 diff --git a/notes.sql b/notes.sql new file mode 100644 index 0000000..bb71436 --- /dev/null +++ b/notes.sql @@ -0,0 +1,45 @@ +-- Create a database for taking notes. + +PRAGMA foreign_keys = ON; + +CREATE TABLE author( + id INTEGER PRIMARY KEY AUTOINCREMENT, + author_name VARCHAR(64) NOT NULL +); + +CREATE TABLE note ( +id INTEGER PRIMARY KEY AUTOINCREMENT, +title VARCHER(128) NOT NULL, +content VARCHAR(2056) NOT NULL, +author_id INTEGER REFERENCES author(id), +timestamp DATE DEFAULT (datetime('now', 'localtime')) +FOREIGN KEY(author_id) REFERENCES author(id) ON DELETE CASCADE +); + +INSERT INTO author (author_name) VALUES ("David Loveday"); +INSERT INTO author (author_name) VALUES ("Mcbed Abed"); +INSERT INTO author (author_name) VALUES ("John Medina"); +INSERT INTO author (author_name) VALUES ("Joseph Alagoa"); + +INSERT INTO note (title, content, author_id) VALUES ("Note by David", "This is a note by David", 1); +INSERT INTO note (title, content, author_id) VALUES("Note by Mcbed", "This is a note by Mcbed", 2); +INSERT INTO note (title, content, author_id) VALUES("Note by John", "This is a note by John", 3); +INSERT INTO note (title, content, author_id) VALUES("Note by Joseph", "This is a note by Joseph", 4); +INSERT INTO note (title, content, author_id) VALUES("Another by John", "This is a note by John", 3); +INSERT INTO note (title, content, author_id) VALUES("Another by David", "This is another note by David", 1); +INSERT INTO note (title, content, author_id) VALUES("Another by Mcbed", "This is another note by Mcbed", 2); + +SELECT author_name, title, content, timestamp FROM note, author +WHERE author.author_name = "Mcbed Abed" +AND author.id = author_id; + +SELECT author.author_name FROM author, note +WHERE note.id = 3 and +author.id = author_id; + +SELECT author_name, count(title) FROM note, author +WHERE author.id = author_id +GROUP BY author.author_name; + +DELETE FROM author +WHERE name = "Note by Mcbed"; \ No newline at end of file