Identify records from author table that corresponds to the author name, use its a_id value to find matching re
cords in another table
mysql>
mysql> CREATE TABLE author
-> (
-> a_id INT UNSIGNED NOT NULL AUTO_INCREMENT, # author ID
-> name VARCHAR(30) NOT NULL, # author name
-> PRIMARY KEY (a_id),
-> UNIQUE (name)
-> );
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE book
-> (
-> a_id INT UNSIGNED NOT NULL, # author ID
-> p_id INT UNSIGNED NOT NULL AUTO_INCREMENT, # book ID
-> title VARCHAR(100) NOT NULL, # title of book
-> state VARCHAR(2) NOT NULL, # state where purchased
-> price INT UNSIGNED, # purchase price (dollars)
-> INDEX (a_id),
-> PRIMARY KEY (p_id)
-> );
Query OK, 0 rows affected (0.01 sec)
mysql>
mysql> INSERT INTO author (name) VALUES
-> ('Tom'),
-> ('Monet'),
-> ('Jack'),
-> ('Picasso'),
-> ('Mary')
-> ;
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql>
mysql>
mysql>
mysql> INSERT INTO book (a_id,title,state,price)
-> SELECT a_id, 'Database', 'IN', 34 FROM author WHERE name = 'Tom';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql>
mysql> INSERT INTO book (a_id,title,state,price)
-> SELECT a_id, 'SQL', 'MI', 87 FROM author WHERE name = 'Tom';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql>
mysql> INSERT INTO book (a_id,title,state,price)
-> SELECT a_id, 'MySQL', 'KY', 48 FROM author WHERE name = 'Jack';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> INSERT INTO book (a_id,title,state,price)
-> SELECT a_id, 'XML', 'KY', 67 FROM author WHERE name = 'Jack';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> INSERT INTO book (a_id,title,state,price)
-> SELECT a_id, 'Java', 'IA', 33 FROM author WHERE name = 'Jack';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql>
mysql> INSERT INTO book (a_id,title,state,price)
-> SELECT a_id, 'HTML', 'NE', 64 FROM author WHERE name = 'Mary';
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql>
mysql>
mysql>
mysql> SELECT book.title
-> FROM author, book
-> WHERE author.name = 'Jack' AND author.a_id = book.a_id;
+-------+
| title |
+-------+
| MySQL |
| XML |
| Java |
+-------+
3 rows in set (0.00 sec)
mysql>
mysql>
mysql> drop table book;
Query OK, 0 rows affected (0.00 sec)
mysql> drop table author;
Query OK, 0 rows affected (0.00 sec)
Related examples in the same category