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.00 sec)
mysql>
mysql> INSERT INTO Books VALUES
-> (12786, 'Notebook', 1934),
-> (13331, 'C++', 1919),
-> (14356, 'Opera', 1966),
-> (15729, 'Sql Server', 1932),
-> (16284, 'C', 1996),
-> (17695, 'Pascal', 1980),
-> (19264, 'Postcards', 1992),
-> (19354, 'Oracle', 1993);
Query OK, 8 rows affected (0.00 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.01 sec)
mysql>
mysql> INSERT INTO Authors VALUES
-> (1006, 'Hunter', 'S.', 'Thompson'),
-> (1007, 'Joyce', 'Carol', 'Oates'),
-> (1008, 'Black', NULL, 'Elk'),
-> (1009, 'Rainer', 'Maria', 'Rilke'),
-> (1010, 'John', 'Kennedy', 'Toole'),
-> (1011, 'John', 'G.', 'Neihardt'),
-> (1012, 'Annie', NULL, 'Proulx'),
-> (1013, 'Alan', NULL, 'Watts'),
-> (1014, 'Nelson', NULL, 'Algren');
Query OK, 9 rows affected (0.00 sec)
Records: 9 Duplicates: 0 Warnings: 0
mysql>
mysql>
mysql> CREATE TABLE AuthorBook
-> (
-> BookID SMALLINT NOT NULL,
-> AuthID SMALLINT NOT NULL,
-> PRIMARY KEY (AuthID, BookID)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.01 sec)
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.00 sec)
Records: 8 Duplicates: 0 Warnings: 0
mysql>
mysql>
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;
Empty set (0.00 sec)
mysql>
mysql> drop table AuthorBook;
Query OK, 0 rows affected (0.00 sec)
mysql> drop table Authors;
Query OK, 0 rows affected (0.00 sec)
mysql> drop table Books;
Query OK, 0 rows affected (0.00 sec)
mysql>
Related examples in the same category
1. | Simple Join two tables | | |
2. | JOINs Across Two Tables | | |
3. | JOINs Across Two Tables with link id | | |
4. | JOINs Across Three or More Tables | | |
5. | Table joins and where clause | | |
6. | Select distinct column value during table join | | |
7. | Select distinct column values in table join | | |
8. | Count joined table | | |
9. | Performing a Join Between Tables in Different Databases | | |
10. | LINESTRING type column: One or more linear segments joining two points; one-dimensional. | | |
11. | Select other columns from rows containing a minimum or maximum value is to use a join. | | |
12. | Retrieve the overall summary into another table, then join that with the original table: | | |
13. | Tests a different column in the book table to find the initial set of records to be joined with the author tab | | |
14. | Select the maximum population value into a temporary table, Then join the temporary table to the original one | | |
15. | Creating a temporary table to hold the maximum price, and then joining it with the other tables: | | |
16. | To display the authors by name rather than ID, join the book table to the author table | | |
17. | To display the author names, join the result with the author table | | |
18. | The summary is written to a temporary table, which then is joined to the cat_mailing table to produce the reco | | |
19. | Addition of a WHERE clause for table join | | |
20. | Join more than two tables together. | | |
21. | Use the basic join syntax and you specify the STRAIGHT_JOIN table option in the SELECT clause | | |
22. | Creating Natural Joins | | |
23. | Joining Columns with CONCAT | | |
24. | A basic join | | |
25. | Rewriting Sub-selects as Joins | | |
26. | Display game code, name, price and vendor name for each game in the two joined tables | | |
27. | Get the player number, the sex, and the name of each player who joined the club after 1980. | | |
28. | Join two tables with char type columns | | |
29. | Convert subqueries to JOINs | | |
30. | Join with another database | | |
31. | Join two tables with shared columns values | | |
32. | Qualify column name with table name during the table join | | |
33. | Three tables join together | | |
34. | Compare date type value during table join | | |
35. | Join on syntax | | |
36. | Natural join syntax | | |
37. | Join with Integer type column | | |
38. | Join three table together | | |