Left outer join with subquery : Left Join « Join « SQL / MySQL

Home
SQL / MySQL
1.Aggregate Functions
2.Backup Load
3.Command MySQL
4.Cursor
5.Data Type
6.Database
7.Date Time
8.Engine
9.Event
10.Flow Control
11.FullText Search
12.Function
13.Geometric
14.I18N
15.Insert Delete Update
16.Join
17.Key
18.Math
19.Procedure Function
20.Regular Expression
21.Select Clause
22.String
23.Table Index
24.Transaction
25.Trigger
26.User Permission
27.View
28.Where Clause
29.XML
SQL / MySQL » Join » Left Join 
Left outer join with subquery
     
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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, row affected (0.00 sec)

mysql>
mysql>
mysql> SELECT   EmployeeNO
    -> FROM     EmployeeS LEFT OUTER JOIN
    ->         (SELECT 'Stratford' AS TOWN, AS NUMBER
    ->          UNION
    ->          SELECT 'Plymouth', 6
    ->          UNION
    ->          SELECT 'Inglewood', 1
    ->          UNION
    ->          SELECT 'Douglas', 2AS TOWNS
    ->          ON EmployeeS.TOWN = TOWNS.TOWN
    -> WHERE    TOWNS.NUMBER > 2;
+------------+
| EmployeeNO |
+------------+
|          |
|          |
|          |
|         39 |
|         57 |
|         83 |
|        100 |
|        112 |
+------------+
rows in set (0.00 sec)

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

   
    
    
    
    
  
Related examples in the same category
1.LEFT JOIN tables
2.'USING' command in LEFT JOIN
3.Two LEFT JOIN in select command
4.Two LEFT JOIN
5.Creating the table list with LEFT JOIN and then forming the linking connection with ON
6.A LEFT JOIN and a regular join
7.To list each author record, whether or not there are any book records for it, use a LEFT JOIN
8.To force each category to be displayed, use a reference table and a LEFT JOIN.
9.Creating Left Joins
10.Replacing the ON clause with the USING clause for Left Join
11.Use a left join to link more than two tables.
12.Addition of the LEFT keyword to each join definition
13.Left Joins (Left Outer Joins)
14.Performing a LEFT JOIN on just the customer and sales tables.
15.Table order in a LEFT JOIN is important.
16.Left outer join syntax
17.Left outer join then order
18.Left outer join
19.Left outer join with using clause
20.Query from left outer join
21.To return all the sales reps who have not yet made a sale
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.