# Join Example (Continue...)
__*OUTER JOIN*__
+ Which planets in the Solar system have a gravitational acceleration of less than 10 and what are their moons?
```8
tidb> SELECT
    -> p.name, p.gravity, m.name as moon_name
    -> FROM ~!@stars s@!~
    -> JOIN ~!@planets p@!~
    -> ON p.sun_id = s.id
    -> ~!@LEFT JOIN moons m@!~
    -> ON p.id = m.planet_id
    -> WHERE s.name = 'Sun'
    -> AND p.gravity < 10;
+---------+---------+-----------+
| name    | gravity | moon_name |
+---------+---------+-----------+
| Pluto   |     0.7 | Charon    |
| Pluto   |     0.7 | Nix       |
| Saturn  |     9.0 | Mimas     |
...
| Uranus  |     8.7 | Miranda   |
| Earth   |     9.8 | Moon      |
| Mercury |     3.7 | NULL      |
| Venus   |     8.9 | NULL      |
| Mars    |     3.7 | NULL      |
+---------+---------+-----------+
19 rows in set (0.00 sec)
```

------------------------------------------------------------
```
tidb> EXPLAIN SELECT
    -> p.name, p.gravity, m.name as moon_name
    -> FROM stars s
    -> JOIN planets p
    -> ON p.sun_id = s.id
    -> LEFT OUTER JOIN moons m
    -> ON p.id = m.planet_id
    -> WHERE s.name = 'Sun'
    -> AND p.gravity < 10;
+---------------------------------+---------+-----------+---------------------------+----------------------------------------------------------------------------+
| id                              | estRows | task      | access object             | operator info                                                              |
+---------------------------------+---------+-----------+---------------------------+----------------------------------------------------------------------------+
| HashJoin_12                     | 0.00    | root      |                           | left outer join, equal:[eq(universe.planets.id, universe.moons.planet_id)] |
| ├─HashJoin_25(Build)            | 0.00    | root      |                           | inner join, equal:[eq(universe.stars.id, universe.planets.sun_id)]         |
| │ ├─IndexReader_30(Build)       | 0.00    | root      |                           | index:IndexRangeScan_29                                                    |
| │ │ └─IndexRangeScan_29         | 0.00    | cop[tikv] | table:s, index:name(name) | range:["Sun","Sun"], keep order:false, stats:pseudo                        |
| │ └─TableReader_28(Probe)       | 3.32    | root      |                           | data:Selection_27                                                          |
| │   └─Selection_27              | 3.32    | cop[tikv] |                           | lt(universe.planets.gravity, 10)                                           |
| │     └─TableFullScan_26        | 10.00   | cop[tikv] | table:p                   | keep order:false, stats:pseudo                                             |
| └─TableReader_32(Probe)         | 28.00   | root      |                           | data:TableFullScan_31                                                      |
|   └─TableFullScan_31            | 28.00   | cop[tikv] | table:m                   | keep order:false, stats:pseudo                                             |
+---------------------------------+---------+-----------+---------------------------+----------------------------------------------------------------------------+
9 rows in set (0.00 sec)
```
