Simple table join : Simple JOIN : Join SQL / MySQL


SQL / MySQL » Join » Simple JOIN »

 

Simple table join



/*
mysql> CREATE TABLE Articles (
    ->    ArticleID SMALLINT NOT NULL PRIMARY KEY,
    ->    ArticleTitle VARCHAR(60) NOT NULL,
    ->    Copyright YEAR NOT NULL
    -> )
    -> ENGINE=INNODB;
Query OK, 0 rows affected (0.13 sec)

mysql> INSERT INTO Articles VALUES (12786, 'How write a paper', 1934),
    ->                             (13331, 'Publish a paper', 1919),
    ->                             (14356, 'Sell a paper', 1966),
    ->                             (15729, 'Buy a paper', 1932),
    ->                             (16284, 'Conferences', 1996),
    ->                             (17695, 'Journal', 1980),
    ->                             (19264, 'Information', 1992),
    ->                             (19354, 'AI', 1993);
Query OK, 8 rows affected (0.08 sec)
Records: 8  Duplicates: 0  Warnings: 0

mysql> CREATE TABLE Authors (
    ->    AuthID SMALLINT NOT NULL PRIMARY KEY,
    ->    AuthorFirstName VARCHAR(20),
    ->    AuthorMiddleName VARCHAR(20),
    ->    AuthorLastName VARCHAR(20)
    -> )
    -> ENGINE=INNODB;
Query OK, 0 rows affected (0.16 sec)

mysql> INSERT INTO Authors VALUES (1006, 'Henry', 'S.', 'Thompson'),
    ->                            (1007, 'Jason', 'Carol', 'Oak'),
    ->                            (1008, 'James', NULL, 'Elk'),
    ->                            (1009, 'Tom', 'M', 'Ride'),
    ->                            (1010, 'Jack', 'K', 'Ken'),
    ->                            (1011, 'Mary', 'G.', 'Lee'),
    ->                            (1012, 'Annie', NULL, 'Peng'),
    ->                            (1013, 'Alan', NULL, 'Wang'),
    ->                            (1014, 'Nelson', NULL, 'Yin');
Query OK, 9 rows affected (0.03 sec)
Records: 9  Duplicates: 0  Warnings: 0

mysql> CREATE TABLE AuthorArticle (
    ->    AuthID SMALLINT NOT NULL,
    ->    ArticleID SMALLINT NOT NULL,
    ->    PRIMARY KEY (AuthID, ArticleID),
    ->    FOREIGN KEY (AuthID) REFERENCES Authors (AuthID),
    ->    FOREIGN KEY (ArticleID) REFERENCES Articles (ArticleID)
    -> )
    -> ENGINE=INNODB;
Query OK, 0 rows affected (0.23 sec)

mysql> INSERT INTO AuthorArticle VALUES (1006, 14356),
    ->                               (1008, 15729),
    ->                               (1009, 12786),
    ->                               (1010, 17695),
    ->                               (1011, 15729),       (1012, 19264),
    ->                               (1012, 19354),
    ->                               (1014, 16284);
Query OK, 8 rows affected (0.07 sec)
Records: 8  Duplicates: 0  Warnings: 0

mysql> SELECT ArticleTitle, Copyright, AuthID
    -> FROM Articles AS b, AuthorArticle AS ab
    -> WHERE b.ArticleID=ab.ArticleID
    -> ORDER BY ArticleTitle;
+-------------------+-----------+--------+
| ArticleTitle      | Copyright | AuthID |
+-------------------+-----------+--------+
| AI                |      1993 |   1012 |
| Buy a paper       |      1932 |   1008 |
| Buy a paper       |      1932 |   1011 |
| Conferences       |      1996 |   1014 |
| How write a paper |      1934 |   1009 |
| Information       |      1992 |   1012 |
| Journal           |      1980 |   1010 |
| Sell a paper      |      1966 |   1006 |
+-------------------+-----------+--------+
8 rows in set (0.02 sec)

*/
Drop table Articles;
Drop table Authors;
Drop table AuthorArticle;



CREATE TABLE Articles (
   ArticleID SMALLINT NOT NULL PRIMARY KEY,
   ArticleTitle VARCHAR(60NOT NULL,
   Copyright YEAR NOT NULL
)
ENGINE=INNODB;


INSERT INTO Articles VALUES (12786'How write a paper', 1934),
                            (13331'Publish a paper', 1919),
                            (14356'Sell a paper', 1966),
                            (15729'Buy a paper', 1932),
                            (16284'Conferences', 1996),
                            (17695'Journal', 1980),
                            (19264'Information', 1992),
                            (19354'AI', 1993);


CREATE TABLE Authors (
   AuthID SMALLINT NOT NULL PRIMARY KEY,
   AuthorFirstName VARCHAR(20),
   AuthorMiddleName VARCHAR(20),
   AuthorLastName VARCHAR(20)
)
ENGINE=INNODB;


INSERT INTO Authors VALUES (1006'Henry', 'S.', 'Thompson'),
                           (1007'Jason', 'Carol', 'Oak'),
                           (1008'James', NULL, 'Elk'),
                           (1009'Tom', 'M''Ride'),
                           (1010'Jack', 'K''Ken'),
                           (1011'Mary', 'G.', 'Lee'),
                           (1012'Annie', NULL, 'Peng'),
                           (1013'Alan', NULL, 'Wang'),
                           (1014'Nelson', NULL, 'Yin');


CREATE TABLE AuthorArticle (
   AuthID SMALLINT NOT NULL,
   ArticleID SMALLINT NOT NULL,
   PRIMARY KEY (AuthID, ArticleID),
   FOREIGN KEY (AuthIDREFERENCES Authors (AuthID),
   FOREIGN KEY (ArticleIDREFERENCES Articles (ArticleID)
)
ENGINE=INNODB;


INSERT INTO AuthorArticle VALUES (100614356)
                              (100815729)
                              (100912786)
                              (101017695),
                              (101115729)
                              (101219264)
                              (101219354)
                              (101416284);
  
SELECT ArticleTitle, Copyright, AuthID
FROM Articles AS b, AuthorArticle AS ab
WHERE b.ArticleID=ab.ArticleID
ORDER BY ArticleTitle;

           
       



Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

SQL / MySQL

 Navioo Join
» Simple JOIN