J'ai toujours pensé à une jointure dans SQL comme une sorte de liaison entre deux tables.
Par exemple, P>
select * from t1, t2 where t1.ID = t2.ID
4 Réponses :
Un jointure 'Liens' ou ERM ... rejoint les rangées de deux tables. Je pense que c'est ce que vous entendez par «Union latérale», bien que je pense personnellement que c'est un moyen terrible de la former. Mais il existe différents types de jointures qui font des choses légèrement différentes: P>
Ce Page A > Sur le blog de Jeff Atwood décrit d'autres possibilités. P>
Dis, si les deux tables sont toutes assorties deptids, les deux tables ont été fusionnées côte à côte, dans ce sens, c'est comme une "Union latérale"
@Jian Lin: Si cela vous permet de penser à cela comme une "union latérale" alors bien, mais l'Union a une signification bien définie dans SQL et ce n'est pas ça. J'éviterais d'utiliser ce terme lorsque vous parlez à d'autres personnes.
Vous êtes sur la bonne voie; Les lignes retournées par un Sachez également que SQL un code SQL Ceci arrive à produire Le même résultat que la jointure suivante: p> Toutes les marques de base de données prend en charge l'opérateur code> intersection code>. p> p> Joindre interne code> sont celles qui satisfont aux conditions de participation. Mais ceci est comme une intersection uniquement parce que vous utilisez égalité em> dans votre condition de jointure, appliquée aux colonnes de chaque table.
intersection code> est déjà une opération SQL et a une autre signification - et ce n'est pas la même chose que
rejoindre code>. P>
JOIN CODE> peut produire un nouveau type de ligne, qui dispose de toutes les colonnes des deux tables jointes. Par exemple: Col4, Col5 et Col6 n'existent pas dans le tableau A, mais ils existent à la suite d'une jointure avec la table B: p>
Intersection code> renvoie des lignes communes à deux tables distinctes, qui doivent déjà avoir les colonnes mêmes em>. P>
Une jointure extérieure - n'est pas liée à - union ou union tout. p>
Par exemple, un «null» ne se produirait pas à la suite d'une opération syndicale ou syndicale, mais il résulte d'une jointure extérieure. P>
donc à Récupérez correctement toutes les lignes communes entre deux tables, Créez deux tables avec des colonnes nullables: p> insérer récupération commune lignes utilisant récupération des lignes communes à l'aide de conclusion: strong> p> même si, plusieurs fois, rejoindre interne code> traite deux
null code> S comme deux valeurs différentes. Donc, si vous vous adhérez en fonction d'une colonne nullable, et si les deux tables ont des valeurs code> null code> dans cette colonne, alors
joint interne code> ignorera ces lignes.
intersect code> doit être utilisé.
intersect code> traite deux
null code> S comme la même valeur. p>
null code> valeurs: p>
rejoindre interne code> (ceci ne montre aucune sortie): p>
intersect code> (Ceci indique correctement le ligne commune): p>
intersect code> et
Joindre interne Code> peut être utilisé pour obtenir le mêmes résultats , ils ne sont pas identiques et doivent être choisis en fonction de la situation. p> p>