Outer join then inner join : Inner Join « Join « SQL / MySQL






Outer join then inner join

    
mysql>
mysql> CREATE TABLE EmployeeS(
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          NAME           CHAR(15)     NOT NULL,
    ->          INITIALS       CHAR(3)      NOT NULL,
    ->          BIRTH_DATE     DATE                 ,
    ->          SEX            CHAR(1)      NOT NULL,
    ->          JOINED         SMALLINT     NOT NULL,
    ->          STREET         VARCHAR(30)  NOT NULL,
    ->          HOUSENO        CHAR(4)              ,
    ->          POSTCODE       CHAR(6)              ,
    ->          TOWN           VARCHAR(30)  NOT NULL,
    ->          PHONENO        CHAR(13)             ,
    ->          LEAGUENO       CHAR(4)              ,
    ->          PRIMARY KEY    (EmployeeNO)           );
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (2, 'Jack', 'R', '1948-09-01', 'M', 1975, 'Stoney Road','43', '3575NH', 'Stratford', '070-237893', '2411');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (6, 'Link', 'R', '1964-06-25', 'M', 1977, 'Haseltine Lane','80', '1234KK', 'Stratford', '070-476537', '8467');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (7, 'Wise', 'GWS', '1963-05-11', 'M', 1981, 'First Way','39', '9758VB', 'Stratford', '070-347689', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (8, 'Mary', 'B', '1962-07-08', 'F', 1980, 'Station Road','4', '6584WO', 'Inglewood', '070-458458', '2983');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (27, 'Collins', 'DD', '1964-12-28', 'F', 1983, 'Long DRay','804', '8457DK', 'Eltham', '079-234857', '2513');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (28, 'Collins', 'C', '1963-06-22', 'F', 1983, 'Old Main Road','10', '1294QK', 'Midhurst', '010-659599', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (39, 'Bishop', 'D', '1956-10-29', 'M', 1980, 'Eaton Square','78', '9629CD', 'Stratford', '070-393435', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (44, 'Baker', 'E', '1963-01-09', 'M', 1980, 'Lewis Street','23', '4444LJ', 'Inglewood', '070-368753', '1124');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (57, 'Brown', 'M', '1971-08-17', 'M', 1985, 'First Way','16', '4377CB', 'Stratford', '070-473458', '6409');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (83, 'Hope', 'PK', '1956-11-11', 'M', 1982, 'Main Road','16A', '1812UP', 'Stratford', '070-353548', '1608');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (95, 'Miller', 'P', '1963-05-14', 'M', 1972, 'High Street','33A', '5746OP', 'Douglas', '070-867564', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (100, 'Link', 'P', '1963-02-28', 'M', 1979, 'Haseltine Lane','80', '6494SG', 'Stratford', '070-494593', '6524');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (104, 'Jane', 'D', '1970-05-10', 'F', 1984, 'Stout Street','65', '9437AO', 'Eltham', '079-987571', '7060');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (112, 'Bailey', 'IP', '1963-10-01', 'F', 1984, 'Vixen Road','8', '6392LK', 'Plymouth', '010-548745', '1319');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql>
mysql> CREATE   TABLE TEAMS
    ->         (TEAMNO         INTEGER      NOT NULL,
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          DIVISION       CHAR(6)      NOT NULL,
    ->          PRIMARY KEY    (TEAMNO)             );
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql> INSERT INTO TEAMS VALUES (1,  6, 'first');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO TEAMS VALUES (2, 27, 'second');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql>
mysql> CREATE   TABLE PENALTIES
    ->         (PAYMENTNO      INTEGER      NOT NULL,
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          PAYMENT_DATE   DATE         NOT NULL,
    ->          AMOUNT         DECIMAL(7,2) NOT NULL,
    ->          PRIMARY KEY    (PAYMENTNO)          );
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> INSERT INTO PENALTIES VALUES (1,  6, '1980-12-08',100);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (2, 44, '1981-05-05', 75);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (3, 27, '1983-09-10',100);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (4,104, '1984-12-08', 50);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (5, 44, '1980-12-08', 25);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (6,  8, '1980-12-08', 25);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (7, 44, '1982-12-30', 30);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO PENALTIES VALUES (8, 27, '1984-11-12', 75);
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql> CREATE   TABLE MATCHES
    ->         (MATCHNO        INTEGER      NOT NULL,
    ->          TEAMNO         INTEGER      NOT NULL,
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          WON            SMALLINT     NOT NULL,
    ->          LOST           SMALLINT     NOT NULL,
    ->          PRIMARY KEY    (MATCHNO)            );
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> INSERT INTO MATCHES VALUES ( 1, 1,   6, 3, 1);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 2, 1,   6, 2, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 3, 1,   6, 3, 0);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 4, 1,  44, 3, 2);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 5, 1,  83, 0, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 6, 1,   2, 1, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 7, 1,  57, 3, 0);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 8, 1,   8, 0, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 9, 2,  27, 3, 2);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (10, 2, 104, 3, 2);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (11, 2, 112, 2, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (12, 2, 112, 1, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (13, 2,   8, 0, 3);
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql> SELECT   EmployeeS.EmployeeNO, NAME, AMOUNT, TEAMNO
    -> FROM     EmployeeS LEFT OUTER JOIN PENALTIES
    ->          ON EmployeeS.EmployeeNO = PENALTIES.EmployeeNO
    ->             LEFT OUTER JOIN MATCHES
    ->             ON EmployeeS.EmployeeNO = MATCHES.EmployeeNO
    -> WHERE    TOWN = 'Inglewood';
+------------+-------+--------+--------+
| EmployeeNO | NAME  | AMOUNT | TEAMNO |
+------------+-------+--------+--------+
|          8 | Mary  |  25.00 |      1 |
|          8 | Mary  |  25.00 |      2 |
|         44 | Baker |  75.00 |      1 |
|         44 | Baker |  25.00 |      1 |
|         44 | Baker |  30.00 |      1 |
+------------+-------+--------+--------+
5 rows in set (0.00 sec)

mysql>
mysql> drop table Employees;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table PENALTIES;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table matches;
Query OK, 0 rows affected (0.00 sec)

   
    
    
    
  








Related examples in the same category

1.INNER JOIN in MySQL
2.Creating Inner Joins and Cross Joins
3.To qualify the inner or cross join, you can use the ON or USING clause rather than the WHERE clause.
4.Qualify an inner or full join by specifying a condition in the WHERE clause
5.Inner join and Delete
6.Inner Joins
7.Inner joins 2
8.Inner join syntax
9.Query from a inner join query