CREATE TABLE author(
id integer NOT NULL AUTO_INCREMENT,
name varchar(100),
country varchar(20),
PRIMARY KEY(id)
);
CREATE TABLE books(
id integer NOT NULL AUTO_INCREMENT,
title varchar(250),
PRIMARY KEY(id)
);
CREATE TABLE BooksAuthors(
id integer NOT NULL AUTO_INCREMENT,
AuthorId integer,
BookId integer,
PRIMARY KEY(id),
FOREIGN KEY(AuthorId) REFERENCES author(id),
FOREIGN KEY(BookId) REFERENCES books(id)
);
INSERT INTO author(name, country)
VALUES ("J.D. Salinger","USA");
INSERT INTO author(name, country)
VALUES ("F. Scott. Fitzgerald","USA");
INSERT INTO author(name, country)
VALUES ("Jane Austen","UK");
INSERT INTO author(name, country)
VALUES ("Scott Hanselman","USA");
INSERT INTO author(name, country)
VALUES ("Jason N. Gaylord","USA");
INSERT INTO author(name, country)
VALUES ("Pranav Rastogi","India");
INSERT INTO author(name, country)
VALUES ("Todd Miranda","USA");
INSERT INTO author(name, country)
VALUES ("Christian Wenz","USA");
INSERT INTO books(title)
VALUES ("The Catcher is the Rye");
INSERT INTO books(title)
VALUES ("Nine Stories");
INSERT INTO books(title)
VALUES ("Franny and Zoosey");
INSERT INTO books(title)
VALUES ("The Great Gatsby");
INSERT INTO books(title)
VALUES ("Tender id the night");
INSERT INTO books(title)
VALUES ("Pride and Prejudice");
INSERT INTO books(title)
VALUES ("Professional ASP.NET 4.5 in C# and VB");
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (1,1);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (1,2);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (1,3);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (2,4);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (2,5);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (3,6);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (4,7);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (5,7);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (6,7);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (7,7);
INSERT INTO BooksAuthors(AuthorId,BookId)
VALUES (8,7);
SELECT COUNT(*) FROM books JOIN BooksAuthors ON author.id=BooksAuthors.AuthorId;
SELECT name FROM author WHERE country != 'USA';
SELECT author.name, author.country
FROM author
JOIN BooksAuthors ON BooksAuthors.AuthorId = author.id
JOIN books ON BooksAuthors.BookId = books.id
WHERE books.id = 7;