Verwendung von Mysql Join
In den vorherigen Kapiteln haben wir gelernt, wie man Daten aus einer Tabelle liest. Dies ist relativ einfach, aber in realen Anwendungen ist es oft notwendig, Daten aus mehreren Datentabellen zu lesen. Daten einlesen.
In diesem Kapitel stellen wir Ihnen vor, wie Sie MySQLs JOIN verwenden, um Daten in zwei oder mehr Tabellen abzufragen.
Sie können den Join von MySQL in SELECT-, UPDATE- und DELETE-Anweisungen verwenden, um mehrere Tabellenabfragen zu kombinieren.
Nachfolgend zeigen wir den Unterschied zwischen der Verwendung von MySQL LEFT JOIN und JOIN.
Verwenden Sie JOIN in der Eingabeaufforderung
Wir haben zwei Tabellen tcount_tbl und Tutorials_tbl in der TUTORIALS-Datenbank. Die Daten der beiden Datentabellen lauten wie folgt:
Versuchen Sie das folgende Beispiel:
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> SELECT * FROM tcount_tbl; +-----------------+----------------+ | tutorial_author | tutorial_count | +-----------------+----------------+ | mahran | 20 | | mahnaz | NULL | | Jen | NULL | | Gill | 20 | | John Poul | 1 | | Sanjay | 1 | +-----------------+----------------+ 6 rows in set (0.01 sec) mysql> SELECT * from tutorials_tbl; +-------------+----------------+-----------------+-----------------+ | tutorial_id | tutorial_title | tutorial_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 1 | Learn PHP | John Poul | 2007-05-24 | | 2 | Learn MySQL | Abdul S | 2007-05-24 | | 3 | JAVA Tutorial | Sanjay | 2007-05-06 | +-------------+----------------+-----------------+-----------------+ 3 rows in set (0.00 sec) mysql>
Als nächstes verwenden wir MySQLs JOIN, um die beiden oben genannten Tabellen zu verbinden und alle Tutorial_Author-Felder in zu lesen Die Tabelle „tutorial_count“ entspricht der Tabelle „tcount_tbl“:
mysql> SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count -> FROM tutorials_tbl a, tcount_tbl b -> WHERE a.tutorial_author = b.tutorial_author;+-------------+-----------------+----------------+| tutorial_id | tutorial_author | tutorial_count |+-------------+-----------------+----------------+| 1 | John Poul | 1 || 3 | Sanjay | 1 |+-------------+-----------------+----------------+2 rows in set (0.01 sec)mysql>
Verwenden Sie JOIN im PHP-Skript
Verwenden Sie die Funktion mysql_query() in PHP, um die SQL-Anweisung auszuführen Verwenden Sie dieselbe SQL-Anweisung oben als Parameter der Funktion mysql_query().
Versuchen Sie das folgende Beispiel:
<?php$dbhost = 'localhost:3036';$dbuser = 'root';$dbpass = 'rootpassword';$conn = mysql_connect($dbhost, $dbuser, $dbpass);if(! $conn ){ die('Could not connect: ' . mysql_error());}$sql = 'SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count FROM tutorials_tbl a, tcount_tbl b WHERE a.tutorial_author = b.tutorial_author';mysql_select_db('TUTORIALS');$retval = mysql_query( $sql, $conn );if(! $retval ){ die('Could not get data: ' . mysql_error());}while($row = mysql_fetch_array($retval, MYSQL_ASSOC)){ echo "Author:{$row['tutorial_author']} <br> ". "Count: {$row['tutorial_count']} <br> ". "Tutorial ID: {$row['tutorial_id']} <br> ". "--------------------------------<br>";} echo "Fetched data successfully\n";mysql_close($conn);?>
MySQL LEFT JOIN
MySQL Left Join unterscheidet sich von Join. MySQL LEFT JOIN liest alle Daten in der linken Tabelle, auch wenn in der rechten Tabelle keine entsprechenden Daten vorhanden sind.
Beispiel
尝试以下实例,理解MySQL LEFT JOIN的应用: root@host# mysql -u root -p password;Enter password:*******mysql> use TUTORIALS;Database changedmysql> SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count -> FROM tutorials_tbl a LEFT JOIN tcount_tbl b -> ON a.tutorial_author = b.tutorial_author;+-------------+-----------------+----------------+| tutorial_id | tutorial_author | tutorial_count |+-------------+-----------------+----------------+| 1 | John Poul | 1 || 2 | Abdul S | NULL || 3 | Sanjay | 1 |+-------------+-----------------+----------------+3 rows in set (0.02 sec)
Im obigen Beispiel wird LEFT JOIN verwendet. Diese Anweisung liest alle ausgewählten Felddaten in der linken Datentabelle „tutorials_tbl“, auch wenn in der rechten keine entsprechenden Daten vorhanden sind Tabelle tcount_tbl Tutorial_Author-Feldwert.
【Verwandte Empfehlungen】
1. Besondere Empfehlung: Version „php Programmer Toolbox“ V0.1 herunterladen
2. Kostenloses MySQL-Online-Video-Tutorial
3. Diese Dinge über Datenbankdesign
Das obige ist der detaillierte Inhalt vonTutorial zur Verwendung von MySQL Join. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!