mysql> mysql> CREATE TABLE Books( -> BookID SMALLINT NOT NULL PRIMARY KEY, -> BookTitle VARCHAR(60) NOT NULL, -> Copyright YEAR NOT NULL -> ) -> ENGINE=INNODB; Query OK, 0 rows affected (0.05 sec)
mysql> mysql> mysql> INSERT INTO Books VALUES (12786, 'Java', 1934), -> (13331, 'MySQL', 1919), -> (14356, 'PHP', 1966), -> (15729, 'PERL', 1932), -> (16284, 'Oracle', 1996), -> (17695, 'Pl/SQL', 1980), -> (19264, 'JavaScript', 1992), -> (19354, 'www.navioo.com', 1993); Query OK, 8 rows affected (0.05 sec) Records: 8 Duplicates: 0 Warnings: 0
mysql> mysql> mysql> CREATE TABLE Authors( -> AuthID SMALLINT NOT NULL PRIMARY KEY, -> AuthFN VARCHAR(20), -> AuthMN VARCHAR(20), -> AuthLN VARCHAR(20) -> ) -> ENGINE=INNODB; Query OK, 0 rows affected (0.03 sec)
mysql> mysql> mysql> INSERT INTO Authors VALUES (1006, 'H', 'S.', 'T'), -> (1007, 'J', 'C', 'O'), -> (1008, 'B', NULL, 'E'), -> (1009, 'R', 'M', 'R'), -> (1010, 'J', 'K', 'T'), -> (1011, 'J', 'G.', 'N'), -> (1012, 'A', NULL, 'P'), -> (1013, 'A', NULL, 'W'), -> (1014, 'N', NULL, 'A'); Query OK, 9 rows affected (0.03 sec) Records: 9 Duplicates: 0 Warnings: 0
mysql> mysql> mysql> CREATE TABLE AuthorBook( -> AuthID SMALLINT NOT NULL, -> BookID SMALLINT NOT NULL, -> PRIMARY KEY (AuthID, BookID), -> FOREIGN KEY (AuthID) REFERENCES Authors (AuthID), -> FOREIGN KEY (BookID) REFERENCES Books (BookID) -> ) -> ENGINE=INNODB; Query OK, 0 rows affected (0.05 sec)
mysql> mysql> mysql> INSERT INTO AuthorBook VALUES (1006, 14356), -> (1008, 15729), -> (1009, 12786), -> (1010, 17695), -> (1011, 15729), -> (1012, 19264), -> (1012, 19354), -> (1014, 16284); Query OK, 8 rows affected (0.03 sec) Records: 8 Duplicates: 0 Warnings: 0
mysql> mysql> mysql> select * from Authors; +--------+--------+--------+--------+ | AuthID | AuthFN | AuthMN | AuthLN | +--------+--------+--------+--------+ | 1006 | H | S. | T | | 1007 | J | C | O | | 1008 | B | NULL | E | | 1009 | R | M | R | | 1010 | J | K | T | | 1011 | J | G. | N | | 1012 | A | NULL | P | | 1013 | A | NULL | W | | 1014 | N | NULL | A | +--------+--------+--------+--------+ 9 rows in set (0.00 sec)
mysql> select * from Books; +--------+----------------+-----------+ | BookID | BookTitle | Copyright | +--------+----------------+-----------+ | 12786 | Java | 1934 | | 13331 | MySQL | 1919 | | 14356 | PHP | 1966 | | 15729 | PERL | 1932 | | 16284 | Oracle | 1996 | | 17695 | Pl/SQL | 1980 | | 19264 | JavaScript | 1992 | | 19354 | www.navioo.com | 1993 | +--------+----------------+-----------+ 8 rows in set (0.00 sec)
mysql> select * from AuthorBook; +--------+--------+ | AuthID | BookID | +--------+--------+ | 1009 | 12786 | | 1006 | 14356 | | 1008 | 15729 | | 1011 | 15729 | | 1014 | 16284 | | 1010 | 17695 | | 1012 | 19264 | | 1012 | 19354 | +--------+--------+ 8 rows in set (0.01 sec)
mysql> mysql> mysql> SELECT BookTitle, Copyright, CONCAT_WS(' ', AuthFN, AuthMN, AuthLN) AS Author -> FROM Books AS b STRAIGHT_JOIN AuthorBook AS ab STRAIGHT_JOIN Authors AS a -> WHERE b.BookID=ab.BookID AND ab.AuthID=a.AuthID AND Copyright<1980 -> ORDER BY BookTitle; +-----------+-----------+--------+ | BookTitle | Copyright | Author | +-----------+-----------+--------+ | Java | 1934 | R M R | | PERL | 1932 | B E | | PERL | 1932 | J G. N | | PHP | 1966 | H S. T | +-----------+-----------+--------+ 4 rows in set (0.00 sec)
mysql> mysql> drop table AuthorBook; Query OK, 0 rows affected (0.05 sec)
mysql> drop table Books; Query OK, 0 rows affected (0.05 sec)
mysql> drop table Authors; Query OK, 0 rows affected (0.06 sec)
|