Maison > base de données > tutoriel mysql > Tutoriel d'utilisation de Mysql Join

Tutoriel d'utilisation de Mysql Join

零下一度
Libérer: 2017-05-15 10:21:55
original
1529 Les gens l'ont consulté

Utilisation de Mysql Join

Dans les chapitres précédents, nous avons appris à lire les données d'une table. C'est relativement simple, mais dans les applications réelles, il est souvent nécessaire de lire les données de plusieurs tables de données. Lire les données.

Dans ce chapitre, nous vous présenterons comment utiliser JOIN de MySQL pour interroger des données dans deux tables ou plus.

Vous pouvez utiliser la jointure de Mysql dans les instructions SELECT, UPDATE et DELETE pour combiner plusieurs requêtes de table.

Ci-dessous, nous démontrerons la différence entre l'utilisation de MySQL LEFT JOIN et JOIN.

Utilisez JOIN dans l'invite de commande

Nous avons deux tables tcount_tbl et tutoriels_tbl dans la base de données TUTORIALS. Les données des deux tables de données sont les suivantes :

Essayez l'exemple suivant :

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>
Copier après la connexion

Ensuite, nous utilisons JOIN de MySQL pour connecter les deux tables ci-dessus afin de lire tous les champs tutoriel_auteur dans le table tutoriels_tbl. La valeur du champ tutoriel_count correspondant à la table 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>
Copier après la connexion

Utilisez JOIN dans le script PHP

Utilisez la fonction mysql_query() en PHP pour exécuter l'instruction SQL. utilisez la même instruction SQL ci-dessus comme paramètre de la fonction mysql_query().

Essayez l'exemple suivant :

<?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);?>
Copier après la connexion

MySQL LEFT JOIN

La jointure gauche MySQL est différente de la jointure. MySQL LEFT JOIN lira toutes les données de la table de données de gauche, même s'il n'y a pas de données correspondantes dans la table de droite.

Exemple

尝试以下实例,理解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)
Copier après la connexion

LEFT JOIN est utilisé dans l'exemple ci-dessus. Cette instruction lira toutes les données de champ sélectionnées dans la table de données de gauche tutoriels_tbl, même s'il n'y a pas de données correspondantes dans la droite. valeur du champ table tcount_tbl tutoriel_author.

【Recommandations associées】

1. Recommandation spéciale : "php Programmer Toolbox" version V0.1 Télécharger

2.Tutoriel vidéo en ligne MySQL gratuit

3 Ces choses sur la conception de bases de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal