Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions Day1_Answers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
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 NOT NULL,
FOREIGN KEY(album_id) REFERENCES album(id)
);

CREATE TABLE artist_albums (
artist_id INTEGER,
album_id INTEGER,
FOREIGN KEY(artist_id) REFERENCES artist(id),
FOREIGN KEY(album_id) REFERENCES album(id)
);

SELECT * FROM album;

SELECT * FROM album WHERE release_year >= 1975 AND release_year < 1990;

SELECT * FROM album WHERE title LIKE "Super D%";

SELECT * FROM album WHERE release_year IS NULL;

SELECT track.title FROM track, album
WHERE track.album_id = album.id AND album.title = "Super Funky Album";

SELECT track.title AS "Track Title" FROM track, album
WHERE track.album_id = album.id AND album.title = "Super Funky Album";

SELECT album.title FROM album, artist_album, artist
WHERE artist_album.album_id = album.id AND
artist_album.artist_id = artist.id AND
artist.name = "Han Solo";

SELECT AVG(release_year) FROM album;

SELECT AVG(release_year) FROM album, artist_album, artist
WHERE artist_album.album_id = album.id AND
artist_album.artist_id = artist.id AND
artist.name = "Leia and the Ewoks";

SELECT COUNT(*) FROM artist;

SELECT COUNT(*) FROM track, album
WHERE track.album_id = album.id AND
album.title = "Super Dubstep Album";
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# SQL


See [the Lambda page on Relational
Databases](https://github.com/LambdaSchool/Relational-Databases) for more
information. (Note that page is for PostgreSQL, but the SQL information is valid
here.)

## SQLite

sql
SQLite is a popular, simple SQL database.

You can launch into a memory-only DB by running:
Expand Down
Binary file added music.db
Binary file not shown.
46 changes: 46 additions & 0 deletions notes.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
PRAGMA foreign_keys = ON;

DROP TABLE IF EXISTS note;
DROP TABLE IF EXISTS author;

CREATE TABLE note (
id INTEGER PRIMARY KEY AUTOINCREMENT,
author_id INTEGER,
title VARCHAR(128),
content TEXT,
created_on DATETIME,
FOREIGN KEY(author_id) REFERENCES author(id) ON DELETE CASCADE
);

CREATE TABLE author (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(128)
);

INSERT INTO author (name) VALUES ("Author Name 1");
INSERT INTO author (name) VALUES ("Author Name 2");
INSERT INTO author (name) VALUES ("Author Name 3");
INSERT INTO author (name) VALUES ("Author Name 4");
INSERT INTO author (name) VALUES ("Author Name 5");

INSERT INTO note (author_id, title, content, created_on) VALUES (1, "Author 1 Note 1", "A1N1 Content", CURRENT_TIMESTAMP);
INSERT INTO note (author_id, title, content, created_on) VALUES (1, "Author 1 Note 2", "A1N2 Content", CURRENT_TIMESTAMP);
INSERT INTO note (author_id, title, content, created_on) VALUES (3, "Author 3 Note 1", "A3N1 Content", CURRENT_TIMESTAMP);
INSERT INTO note (author_id, title, content, created_on) VALUES (4, "Author 4 Note 1", "A4N1 Content", CURRENT_TIMESTAMP);
INSERT INTO note (author_id, title, content, created_on) VALUES (5, "Author 5 Note 1", "A5N1 Content", CURRENT_TIMESTAMP);
INSERT INTO note (author_id, title, content, created_on) VALUES (5, "Author 5 Note 2", "A5N2 Content", CURRENT_TIMESTAMP);
INSERT INTO note (author_id, title, content, created_on) VALUES (5, "Author 5 Note 3", "A5N3 Content", CURRENT_TIMESTAMP);

SELECT title, content FROM note, author
WHERE note.author_id = author.id AND
author.name = "Author Name 5";

SELECT name FROM note, author
WHERE note.author_id = author.id AND
note.id = 6;

SELECT name, COUNT(*) FROM note, author
WHERE note.author_id = author.id
GROUP BY author_id;

DELETE FROM author WHERE id = 3;
25 changes: 25 additions & 0 deletions setup.sql
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
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 NOT NULL,
FOREIGN KEY(album_id) REFERENCES album(id)
);

CREATE TABLE artist_album (
artist_id INTEGER,
album_id INTEGER,
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);
Expand Down