Maison  >  Article  >  développement back-end  >  Explications connexes sur la jointure gauche et l'emplacement du placement des conditions

Explications connexes sur la jointure gauche et l'emplacement du placement des conditions

jacklove
jackloveoriginal
2018-05-09 09:13:072403parcourir

gauche Le placement des conditions de jointure sur et où est très important en PHP Cet article expliquera les connaissances pertinentes en détail.

Requête avec et dans la jointure gauche

SELECT p.pname,p.pcode,s.saleheure du produit en tant que p gauche rejoindre sales_detail comme s sur (s.pcode=p.pcode) et s.saletime dans ('2012-07-23','2012-07-05');

Le résultat trouvé :

+-------+-------+------------+

| pcode | heure de vente |

+-------+-------+------------+

| A | 23/07/2012 |

| A | 2012-07-05 |

| A | 2012-07-05 |

| | C +

Requête de condition directe où

SELECT p.pname,p.pcode,s.saletime from product as p left join sales_detail as s on (s .pcode=p.pcode) où s .saletime in ('2012-07-23','2012-07-05');

Résultats de la requête

+----- ---+------------+

| pcode | saletime |

+------ ------ --+----------------+

| A | | A | 2012-07-05 |

| A | 2012-07-05 |

+-------+------- +---------- --+

Conclusion : L'association conditionnelle dans on affichera une valeur nulle lorsque les données d'une table ne se rencontrent pas les conditions. où sortiront les deux tables qui répondent complètement aux données de condition


Les conditions dans la jointure gauche : les données de référence de la table de gauche seront utilisées, et toutes les données qui apparaissent dans le tableau de gauche apparaîtra, puis Lorsque vous rejoignez le tableau de droite, vous devez savoir s'il existe une corrélation. Si le champ correspondant n'a pas de valeur ou ne remplit pas les conditions, il est défini sur NULL.

SELECT p.pname,p.pcode,s.saletime from product as p left join sales_detail as s on (s.pcode=p.pcode) ; Si la jointure gauche est utilisée, le contenu affiché est le suivant ;


+-------+-------+------------+

| pname | pcode |


+-------+-------+------------+

| A | 2012-07-23 |

| A | 2012-07-05 |

| A AC | >| B | DE | 2012-07-16 | Il y a une valeur dedans

| C | 🎜>S'il a une valeur mais ne remplit pas les conditions, il sera mis à NULL. S'il n'y a pas de valeur, elle doit être NULL

S'il s'agit d'une condition Where, elle doit être satisfaite.

Scénarios d'application : par exemple, s'il existe une table principale, vous pouvez alors envisager une jointure à gauche pour afficher les données basées sur la table principale

Résumé :

1. Pour la jointure gauche, quelle que soit la condition suivie de on, toutes les données du tableau de gauche seront trouvées. Par conséquent, si vous souhaitez filtrer, vous devez mettre la condition après où

2. .Pour la jointure interne, les données de la table qui satisfont à la condition après le Ce n'est qu'alors qu'elles peuvent être détectées, ce qui peut jouer un rôle de filtrage. Vous pouvez également mettre la condition après où.

La différence entre la condition on et la condition Where en SQL

Lorsque la base de données renvoie des enregistrements en connectant deux tables ou plus, elle génère une table temporaire intermédiaire , puis renvoyez cette table temporaire à l'utilisateur.


Lors de l'utilisation de left jion, la différence entre les conditions on etwhere est la suivante :

1. La condition on est une condition utilisée lors de la génération d'une table temporaire. in on est vrai renverra les enregistrements dans le tableau de gauche.

2. La condition Where est la condition de filtrage de la table temporaire après la génération de la table temporaire. Pour le moment, la jointure gauche n'a aucune signification (les enregistrements de la table de gauche doivent être renvoyés). Si la condition n'est pas vraie, tous seront filtrés.

Cet article explique les connaissances liées au placement de la jointure gauche et aux conditions pour plus de matériel d'apprentissage, veuillez faire attention au site Web php chinois.

Recommandations associées :

Connaissances connexes sur la fonction de requête floue php+mysql

Copier et déplacer des fichiers via les méthodes php

À propos des effets jQuery - connaissances liées au masquage et à l'affichage

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!

Déclaration:
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