# Join 示例 (继续...)

__*CONCAT 函数*__
__*笛卡尔积*__

+ 火星与地球之比
```10
tidb> SELECT concat(p1.name, concat('/',p2.name)) as 'Mars-Earth',
    -> p1.diameter/p2.diameter as Diameter,
    -> p1.mass/p2.mass as Mass,
    -> p1.gravity/p2.gravity as Gravity,
    -> p1.density/p2.density as Density,
    -> p1.escape_velocity/p2.escape_velocity as 'Escape Velocity'
    -> FROM universe.planets p1
    -> JOIN universe.planets p2
    -> WHERE p1.name = 'Mars'
    -> AND p2.name = 'Earth'\G
*************************** 1. row ***************************
     Mars-Earth: Mars/Earth
       Diameter: 0.532455
           Mass: 0.10753769549625292
        Gravity: 0.37755
        Density: 0.7135
Escape Velocity: 0.44643
1 row in set (0.00 sec)
```

----------------------------------------------------------------------
观察执行计划,你会发现这是一个笛卡尔积操作。
```
tidb> EXPLAIN SELECT concat(p1.name, concat('/',p2.name)) as 'Mars-Earth',
    -> p1.diameter/p2.diameter as Diameter,
    -> p1.mass/p2.mass as Mass,
    -> p1.gravity/p2.gravity as Gravity,
    -> p1.density/p2.density as Density,
    -> p1.escape_velocity/p2.escape_velocity as 'Escape Velocity'
    -> FROM universe.planets p1
    -> JOIN universe.planets p2
    -> WHERE p1.name = 'Mars'
    -> AND p2.name = 'Earth';
```