Lors de l'apprentissage des bases de données, nous rencontrons souvent sur et où. Aujourd'hui, je vais parler de la différence entre sur et où.
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 renvoie cette table temporaire à l'utilisateur.
Lors de l'utilisation de la jointure gauche, la différence entre les conditions on et Where 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 ou non 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 les conditions ne sont pas vraies, tous seront filtrés.
Supposons qu'il y ait deux tables :
Tableau 1 : tab1
id size1 102 203 30
Tableau 2 : tab2
nom de taille10 AAA20 BBB20 CCC
Deux SQL :
1、select * from tab1 left join tab2 on tab1.size = tab2.size where tab2.name='AAA'2、 select * from tab1 left join tab2 on tab1.size = tab2.size and tab2.name='AAA'
Le processus du premier SQL :
1. >à condition :
2. Filtrer la table intermédiairetab1.size = tab2.size tab1.id tab1.size tab2.size tab2.name1 10 10 AAA2 20 20 BBB2 20 20 CCC3 30 (null) (null)
où condition :
Le deuxième processus SQL :tab2.name='AAA' tab1.id tab1.size tab2.size tab2.name1 10 10 AAA
1. Table intermédiaire
sous condition :
tab1.size = tab2.size et tab2.name='AAA' (les enregistrements de la table de gauche seront également renvoyés si la condition n'est pas vraie)
tab1.id tab1.size tab2.size tab2.name1 10 10 AAA2 20 (null) (null)3 30 (null) (null)
En fait, la clé raison des résultats ci-dessus C'est la particularité de la jointure gauche, de la jointure droite et de la jointure complète.
Que la condition on on soit vraie ou non, les enregistrements de la table de gauche ou de droite seront renvoyés, et full aura l'union des caractéristiques de gauche et de droite.
Le jion interne n'a pas cette fonctionnalité spéciale, donc les conditions sont placées sur et où, et l'ensemble de résultats renvoyé est le même.
Cet article explique la différence entre où et sur. Pour plus de connaissances connexes, veuillez faire attention au site Web php chinois.
Presse promotionnelle associée :
À propos de la méthode de compression du code CSS par PHPPHP reçoit json et insère les données reçues Base de donnéesInstance de pagination PHP MySqlCe 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!