Heim  >  Artikel  >  Datenbank  >  Tutorial zur Verwendung von MySQL Join

Tutorial zur Verwendung von MySQL Join

零下一度
零下一度Original
2017-05-15 10:21:551447Durchsuche

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 = &#39;localhost:3036&#39;;$dbuser = &#39;root&#39;;$dbpass = &#39;rootpassword&#39;;$conn = mysql_connect($dbhost, $dbuser, $dbpass);if(! $conn ){  die(&#39;Could not connect: &#39; . mysql_error());}$sql = &#39;SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count        FROM tutorials_tbl a, tcount_tbl b        WHERE a.tutorial_author = b.tutorial_author&#39;;mysql_select_db(&#39;TUTORIALS&#39;);$retval = mysql_query( $sql, $conn );if(! $retval ){  die(&#39;Could not get data: &#39; . mysql_error());}while($row = mysql_fetch_array($retval, MYSQL_ASSOC)){    echo "Author:{$row[&#39;tutorial_author&#39;]}  <br> ".         "Count: {$row[&#39;tutorial_count&#39;]} <br> ".         "Tutorial ID: {$row[&#39;tutorial_id&#39;]} <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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn