From 8dbf58a2ea5314c0d42a402bcab4c9bb24b77521 Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Sat, 1 Sep 2018 20:56:31 -0400 Subject: [PATCH 01/13] WRITE ALBUM SELECT QUERIES - in setup.sql --- mydatabase.db | Bin 0 -> 6144 bytes setup.sql | 17 ++++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 mydatabase.db diff --git a/mydatabase.db b/mydatabase.db new file mode 100644 index 0000000000000000000000000000000000000000..fd5dc7e021b945a55df89c7fbbf1d9870ae00ef1 GIT binary patch literal 6144 zcmeHKO>7%Q6rPzkyT%TM78-VK3uz=2$!=O9+eriBf@u~K;X1`}k#e#&&a_>5vzzV@ zm2Vg>aOc7uA#vh_gg8Y);(&k)2M)jqIG~=2gn$cTW_O)t(Jqh+YNUPAddKg3^Ygx$ zdH%fpO3w;7yWx8KX23d#B8<`Vj3I>_91LOH268rvh`==B5`|elRla-EjYSTfH(cx1Q$hI((!(HK2dW}~5nI?1GfH|RU|EE0vW!)i^v}zU4jAJ_$b3;=LkA3r%Z}x}AOU8g*8*EiPDHSATtk{rN_kq z_xWfljyX$ssWhXz39lpg3BH1l;9b!ytYDyE;D2I3Qz+`7?eIYSc&vxJe!ve{SC)ht zrD&DJz=mmgyQZ@jBc($PD0(`<)-8YRCcr0)L;%TXFNV%!8Us}A~13*^8N!H zBKQ%$6tBVx1_}mF5d#YV=*bP!VcV|lE)qbk9=A*;#X@k4Gvkgs@oN~+bG>lFkKF5? zYwZQD!+m-Gb!*AL94$TcSf@ zCuX3gQ?!QDT5l--f3sDkrsZKPO6`d}tfSNx^RTv3JD-QOl=|ZoJ)5lMNM6Q^S)=vG za>2{Ael8bWrS-G9;0mojnhSPl{gGU-P3vcJ!4}mY7V36RYovzbJUXB+WFu|RE7?d3 z^zwZqmeBEND@1=N8|e_el#R5Bu4W@GQWe5~tsEbQxh78zLsdxsY-pt_lz%qVsS53% z4Yj5I&xTs^{;TjcfjeVU`&W2Y6mV8 PMbwEhCW@#DWvu)K?foGl literal 0 HcmV?d00001 diff --git a/setup.sql b/setup.sql index 94bf2cf..be6e230 100644 --- a/setup.sql +++ b/setup.sql @@ -42,4 +42,19 @@ INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 1", 5); INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 2", 5); INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 3", 5); INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 4", 5); -INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 5", 5); \ No newline at end of file +INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 5", 5); + +-- SHOW ALL ALBUMS +SELECT * FROM album + +-- SELECT ALBUMS CREATE BETWEEN 1975 and 1990 +SELECT * FROM album +WHERE release_year BETWEEN 1975 and 1990 + +-- SELECT ALBUMS THAT CONTAIN `Super D` +SELECT * FROM album +WHERE title Like 'Super D%' + +-- SELECT ALBUMS WITHOUT A RELEASE YEAR +SELECT * FROM album +WHERE release_year IS NULL \ No newline at end of file From 9cf9582bb43c6b11731049125f96b580ae9c261a Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Sun, 2 Sep 2018 14:20:46 -0400 Subject: [PATCH 02/13] COMPLETE DAY 1 - in day1.sql MOVE DAY 1 SQL QUERIES TO `day1.sql` - in setup.sql => day1.sql --- day1.sql | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.sql | 17 +---------------- 2 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 day1.sql diff --git a/day1.sql b/day1.sql new file mode 100644 index 0000000..4ab962c --- /dev/null +++ b/day1.sql @@ -0,0 +1,50 @@ +-- SHOW ALL ALBUMS +SELECT * FROM album; + +-- SELECT ALBUMS CREATE BETWEEN 1975 and 1990 +SELECT * FROM album +WHERE release_year BETWEEN 1975 and 1990; + +-- SELECT ALBUMS THAT CONTAIN `Super D` +SELECT * FROM album +WHERE title Like 'Super D%'; + +-- SELECT ALBUMS WITHOUT A RELEASE YEAR +SELECT * FROM album +WHERE release_year IS NULL; + +-- SELECT TRACKS FROM `Super Funky Album` +SELECT track.title FROM track +INNER JOIN album +ON album.id IS track.album_id +WHERE album.title IS 'Super Funky Album'; + +-- SAME QUERY BUT track.title NAMED Track_Title +SELECT track.title as Track_Title FROM track +INNER JOIN album +ON album.id IS track.album_id +WHERE album.title IS 'Super Funky Album'; + +-- SELECT ALL ALBUM TITLES BY `Han Solo` +SELECT album.title FROM album, artist, artist_album +WHERE artist.name IS 'Han Solo' +AND artist.id IS artist_album.artist_id +AND album.id IS artist_album.album_id; + +-- RETURN AVG YEAR ALL ALBUMS WERE RELEASED +SELECT AVG(release_year) from album +WHERE release_year IS NOT NULL; + +-- RETURN AVG ALL ALBUMS FROM `Leia and the Ewoks` WERE RELEASED +SELECT AVG(release_year) FROM album, artist, artist_album +WHERE artist.name IS 'Leia and the Ewoks' +AND artist.id IS artist_album.artist_id +AND album.id IS artist_album.album_id; + +-- RETURN NUMBER OF ARTISTS +SELECT COUNT(id) FROM artist; + +-- Select the number of tracks on `Super Dubstep Album` +SELECT COUNT(track.title) FROM track, album +WHERE album.id IS track.album_id +AND album.title IS 'Super Dubstep Album'; \ No newline at end of file diff --git a/setup.sql b/setup.sql index be6e230..94bf2cf 100644 --- a/setup.sql +++ b/setup.sql @@ -42,19 +42,4 @@ INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 1", 5); INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 2", 5); INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 3", 5); INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 4", 5); -INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 5", 5); - --- SHOW ALL ALBUMS -SELECT * FROM album - --- SELECT ALBUMS CREATE BETWEEN 1975 and 1990 -SELECT * FROM album -WHERE release_year BETWEEN 1975 and 1990 - --- SELECT ALBUMS THAT CONTAIN `Super D` -SELECT * FROM album -WHERE title Like 'Super D%' - --- SELECT ALBUMS WITHOUT A RELEASE YEAR -SELECT * FROM album -WHERE release_year IS NULL \ No newline at end of file +INSERT INTO track (title, album_id) VALUES ("Super Dubstep Track 5", 5); \ No newline at end of file From aa0c44abea7525e9588ef711c6127a0ebfd26108 Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:10:46 -0400 Subject: [PATCH 03/13] CREATE `notes` TABLE - in notes.sql --- notes.db | Bin 0 -> 5120 bytes notes.sql | 9 +++++++++ 2 files changed, 9 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..05a662bff8ab5b0289be6cca086933d6328ed19c GIT binary patch literal 5120 zcmeH}&u`N(6vyp4T}h;hV^ksFT`DDNEA_`ZK~D_S+k}Aif;dE8>vj>TvpEi82M!&7 z4F~T0EnL{069+Ck@sf6sPNUK!4ydw~I4|~l&etF3#W{R=5NZL_Sk1YH9v1{01iN>=F*{U>6|(@4WORSKsSWQ~dD^ApEEw^+q>UHWmBOU)VPRcTFV z-gFzCI@Hl7p)si^T?}ZcJ@n4j7 z+(v`G&LJeH5$0Kth|@IpT)$;&V6ORk+4?jw(#O0x{KvUd#qlWnM({Aj5HJL`i@-y= zLu%EY{T%ld=ycniN3HhbR(lt^?Ll{M(CcLR&)8SOezNa)F~txt1h#^}UB>G6>Mte# z)w)w+uAN&pWwlk;a{s>|>|!e>Z6;v|7y< Date: Tue, 4 Sep 2018 17:11:09 -0400 Subject: [PATCH 04/13] CREATE `author` TABLE - in notes.sql --- notes.sql | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/notes.sql b/notes.sql index 58c8377..a344f3e 100644 --- a/notes.sql +++ b/notes.sql @@ -7,3 +7,10 @@ create table notes( author_id integer not null, foreign key(author_id) references author(id) ); + +-- CREATE `author` TABLE +create table author( + id integer primary key autoincrement, + name varchar(255) not null, + creation_date datetime default current_timestamp +); From 8b7d4f01ba739625d397d03048573252314fc1f4 Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:11:37 -0400 Subject: [PATCH 05/13] CREATE NEW AUTHOR - in notes.sql --- notes.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/notes.sql b/notes.sql index a344f3e..ab7aa29 100644 --- a/notes.sql +++ b/notes.sql @@ -14,3 +14,6 @@ create table author( name varchar(255) not null, creation_date datetime default current_timestamp ); + +-- INSERT AUTHORS INTO `author` TABLE +insert into author (name) values('Brandon'); From ee56c26421b121b21a517dd047af25e6d2f5727e Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:11:59 -0400 Subject: [PATCH 06/13] CREATE NEW NOTE - in notes.sql --- notes.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/notes.sql b/notes.sql index ab7aa29..5fe9378 100644 --- a/notes.sql +++ b/notes.sql @@ -17,3 +17,6 @@ create table author( -- INSERT AUTHORS INTO `author` TABLE insert into author (name) values('Brandon'); + +-- INSERT NOTES IN `note` TABLE +insert into notes (title, content, author_id) values('Note 1', '', 1); From 728e2dd1237884966d3749ec196eab617a85e166 Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:13:12 -0400 Subject: [PATCH 07/13] GRAB ALL NOTES BY AUTHOR NAME - in notes.sql --- notes.sql | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.sql b/notes.sql index 5fe9378..236842d 100644 --- a/notes.sql +++ b/notes.sql @@ -20,3 +20,7 @@ insert into author (name) values('Brandon'); -- INSERT NOTES IN `note` TABLE insert into notes (title, content, author_id) values('Note 1', '', 1); + +-- SELECT ALL NOTES BY AUTHORS NAME +select title, content from notes, author +where author.name is 'brandon'; From 5573ade8b21583bfcd384a5c2ebcd64030d6dcba Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:13:35 -0400 Subject: [PATCH 08/13] RETURN AUTHOR NAME BY NOTE ID - in notes.sql --- notes.sql | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.sql b/notes.sql index 236842d..a101547 100644 --- a/notes.sql +++ b/notes.sql @@ -24,3 +24,7 @@ insert into notes (title, content, author_id) values('Note 1', '', 1); -- SELECT ALL NOTES BY AUTHORS NAME select title, content from notes, author where author.name is 'brandon'; + +-- SELECT AUTHOR FOR A PARTICULAR NOTE BY THE NOTE ID +select name from author, notes, author_notes +where author.name is 'brandon'; \ No newline at end of file From 03cf0b6703bdda7484607a826b26470bc99a3171 Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:25:23 -0400 Subject: [PATCH 09/13] FIX QUERIES - in notes.sql --- notes.db | Bin 5120 -> 5120 bytes notes.sql | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/notes.db b/notes.db index 05a662bff8ab5b0289be6cca086933d6328ed19c..ba353bfc076b388b64b3d1c630d1d6ba9f834b1d 100644 GIT binary patch delta 315 zcmZqBXwaA-%_ulg#+gxYW5N<LzF{twzGx}vF=jWs< z_~nC>R-985vlam@sKDvoUA_6*?6q=B4E4K~x%Hs5CZa)?mV- z64Oj03uazsp4SY_%;y-G&oO^xz6EsA0cJZcMrKLI#L|+C{32$4W@c4R2s=Ix=(J)6 z1_mx51_DkdW^qQa7z;0u%fx(;f%zcw1E3jOneAkmSQsRYA$~%2qM?bEk*ORr3xl*V R)F){2mR5$F|MN4l008CLNC^M{ delta 173 zcmZqBXwaA-&B!%T#+i|8W5N<H z%;KD27AGUKBvcBdlacuW1M>r*u4~Nla*Qkt(#A Date: Tue, 4 Sep 2018 17:29:58 -0400 Subject: [PATCH 10/13] RETURN ALL AUTHORS AND THEIR NUMBER OF NOTES - in notes.sql --- notes.sql | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/notes.sql b/notes.sql index 8256b00..f9a31b0 100644 --- a/notes.sql +++ b/notes.sql @@ -29,4 +29,9 @@ and author.id is notes.author_id; -- SELECT AUTHOR FOR A PARTICULAR NOTE BY THE NOTE ID select name from author, notes where note.id is 2 -and author.id is notes.author_id; \ No newline at end of file +and author.id is notes.author_id; + +-- LIST THE NAME OF EACH AUTHOR AND HOW MANY NOTES THEY HAVE +select author.name, count(notes.id) from author, notes +where author.id is notes.author_id +group by author.name; \ No newline at end of file From 4805091f8fe9ccb5667261c332d8ba859846cf72 Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 17:40:40 -0400 Subject: [PATCH 11/13] CREATE TRANSACTION TO DELETE AUTHOR + AUTHORS NOTES - in notes.sql --- notes.db | Bin 5120 -> 5120 bytes notes.sql | 10 ++++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/notes.db b/notes.db index ba353bfc076b388b64b3d1c630d1d6ba9f834b1d..0ee981dcd3115cac244f5c80d40acb777ab1f893 100644 GIT binary patch delta 94 zcmZqBXwaA-%_uZc#+gxQW5PmaUgk9njLgjp%*`OUS&*ZYd2%zmCJO@tL&(HNO-8MW tjcS`X7+JWP9{|-IWMDqX`~awGEA!-o{PG}G3KJb=Cb6(=W)b+q3;>~(Bw5{ zbSg^BOUchu@XIerRWLF#FtpG$u+%j$Q7|&JGBU6-HfGjfLQy$+BD(~$kp=T64n`Jk rpy5o+2N{?TGCu$sy_I?LL4J7!Ic63HX=A9ts3sa(S{WKI5?}!UvrZ;i diff --git a/notes.sql b/notes.sql index f9a31b0..2433127 100644 --- a/notes.sql +++ b/notes.sql @@ -28,10 +28,16 @@ and author.id is notes.author_id; -- SELECT AUTHOR FOR A PARTICULAR NOTE BY THE NOTE ID select name from author, notes -where note.id is 2 +where note.id is 1 and author.id is notes.author_id; -- LIST THE NAME OF EACH AUTHOR AND HOW MANY NOTES THEY HAVE select author.name, count(notes.id) from author, notes where author.id is notes.author_id -group by author.name; \ No newline at end of file +group by author.name; + +-- DELETE AUTHOR AND ALL ASSOCIATED NOTE +begin transaction; +delete from notes where author_id is 1; +delete from author where id is 1; +commit; \ No newline at end of file From 9c03efaf9fe0c287020d4f6fdccc9103a548d12b Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 19:04:11 -0400 Subject: [PATCH 12/13] QUERIES TO CREATE APPROPRIATE TABLES - in setup.sql --- mydatabase.db | Bin 6144 -> 6144 bytes setup.sql | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/mydatabase.db b/mydatabase.db index fd5dc7e021b945a55df89c7fbbf1d9870ae00ef1..d6ce8c15561c1003926758aca65b0abdc910affb 100644 GIT binary patch delta 154 zcmZoLXfT){EvU!9z`zE?EKtlbQO8(Zk3sk24qoOW21aHD1|a$eftwXssu@|Bix~AM zE3#|>G8oDyHWp7-U=9N5?%OQLv733a0n2#-ULY4_BJ*|TGav|-nK(g_QGBAK6fZMS Xk_m`eftU>}wON5<4KtVkYQG5p*YF}( literal 6144 zcmeHKO>7%Q6rPzkyT%TM78-VK3uz=2$!=O9+eriBf@u~K;X1`}k#e#&&a_>5vzzV@ zm2Vg>aOc7uA#vh_gg8Y);(&k)2M)jqIG~=2gn$cTW_O)t(Jqh+YNUPAddKg3^Ygx$ zdH%fpO3w;7yWx8KX23d#B8<`Vj3I>_91LOH268rvh`==B5`|elRla-EjYSTfH(cx1Q$hI((!(HK2dW}~5nI?1GfH|RU|EE0vW!)i^v}zU4jAJ_$b3;=LkA3r%Z}x}AOU8g*8*EiPDHSATtk{rN_kq z_xWfljyX$ssWhXz39lpg3BH1l;9b!ytYDyE;D2I3Qz+`7?eIYSc&vxJe!ve{SC)ht zrD&DJz=mmgyQZ@jBc($PD0(`<)-8YRCcr0)L;%TXFNV%!8Us}A~13*^8N!H zBKQ%$6tBVx1_}mF5d#YV=*bP!VcV|lE)qbk9=A*;#X@k4Gvkgs@oN~+bG>lFkKF5? zYwZQD!+m-Gb!*AL94$TcSf@ zCuX3gQ?!QDT5l--f3sDkrsZKPO6`d}tfSNx^RTv3JD-QOl=|ZoJ)5lMNM6Q^S)=vG za>2{Ael8bWrS-G9;0mojnhSPl{gGU-P3vcJ!4}mY7V36RYovzbJUXB+WFu|RE7?d3 z^zwZqmeBEND@1=N8|e_el#R5Bu4W@GQWe5~tsEbQxh78zLsdxsY-pt_lz%qVsS53% z4Yj5I&xTs^{;TjcfjeVU`&W2Y6mV8 PMbwEhCW@#DWvu)K?foGl diff --git a/setup.sql b/setup.sql index 94bf2cf..f4c0c60 100644 --- a/setup.sql +++ b/setup.sql @@ -1,3 +1,33 @@ +-- CREATE ALBUMS TABLE +CREATE TABLE album ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(255) NOT NULL, + release_year INTEGER +); + +-- CREATE ARTIST TABLE +CREATE TABLE artist ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(255) +); + +-- CREATE TRACK TABLE +CREATE TABLE track ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(255), + album_id INTEGER NOT NULL, + FOREIGN KEY(album_id) REFERENCES album(id) +); + +-- CREATE ARTIST_ALBUM TABLE +CREATE TABLE artist_album ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + artist_id INTEGER NOT NULL, + album_id INTEGER NOT NULL, + FOREIGN KEY(artist_id) REFERENCES artist(id), + FOREIGN KEY(album_id) REFERENCES album(id) +); + INSERT INTO album (title, release_year) VALUES ("Super Awesome Album", 1990); INSERT INTO album (title) VALUES ("Super Funky Album"); INSERT INTO album (title, release_year) VALUES ("Super Disco Album", 1978); From f378e927a8355f6a2933455fe7c1b2ea28c2133a Mon Sep 17 00:00:00 2001 From: bbenefield89 Date: Tue, 4 Sep 2018 19:07:28 -0400 Subject: [PATCH 13/13] FIX TYPO - notes.sql line 31 `where note.id is 1` now refers to `notes.id` instead of `note.id` (plural) --- notes.db | Bin 5120 -> 5120 bytes notes.sql | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/notes.db b/notes.db index 0ee981dcd3115cac244f5c80d40acb777ab1f893..cfd281b19d53c37f98fbc0b84123311ca20441b9 100644 GIT binary patch delta 161 zcmZqBXwaA-EvU%Az`zQ`EI`Z%!~zp_jCm9pbU*IkWnRm`%(!x5_PogoEDI*DWR#w4 zz$mi$2BRhuCr}|s2lM^Sf&wp@CkF6N5@6wCVt&oQ{FV7N^DUt0U1n7dCT4NYy!?{X iVopY8NzTO5l8pQ!kWMH7S<3`9fE{Q68`#JPFe3p9AR}G? delta 381 zcmZqBXwaA-Ehxmmz`zQ`Fu*=h$CyWmLHFYhUgot7ER38Jv*)=q%CfSHtEw_K)|MnD z<)kK-mSp4?#pmUhq!uHyS)GGi9Yb6dLL8lZTosUI6g0Rd-(ggn%+D+%1=1FunWB)H zSCX2ZTBHEvE98~tIg#