php - right - sql join




Come trovare le email nelle stesse liste? (2)

L'operatore MySQL UNION consente di combinare due o più set di risultati da più tabelle in un unico set di risultati

SELECT Contact_Email FROM email1
UNION
SELECT Contact_Email FROM email2
UNION
SELECT Contact_Email FROM email3
.
.
UNION
SELECT Contact_Email FROM email11

Per impostazione predefinita, l'operatore UNION elimina le righe duplicate dal risultato anche se non si utilizza esplicitamente l'operatore DISTINCT.

Ho 11 tavoli [email1, email2, email3, ... email11]

<?php
$con = mysql_connect("localhost", "root", "");
$db = mysql_select_db("email-db", $con);
$sql = "SELECT Contact_Email FROM email1, email2, email3, email4, email5";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
    ?>
    <tr>
        <td><? echo $row['Contact_Email']; ?></td>
        <td><? echo '<br>'; ?></td>
    </tr>
<? } ?>

Quello che in realtà voglio farlo è selezionare tutte le email da tutte le tabelle usando join su tutte loro. Come può essere fatto?


$sql = "SELECT Contact_Email FROM email1 UNION ALL SELECT Contact_Email FROM email2 UNION ALL SELECT Contact_Email FROM email3 UNION ALL SELECT Contact_Email FROM email4 UNION ALL SELECT Contact_Email FROM email5 UNION ALL SELECT Contact_Email FROM email6 UNION ALL SELECT Contact_Email FROM email7 UNION ALL SELECT Contact_Email FROM email8 UNION ALL SELECT Contact_Email FROM email9 UNION ALL SELECT Contact_Email FROM email10 UNION ALL SELECT Contact_Email FROM email11";  

l'ho usato





inner-join