Même nombre de colonnes pour le Fonctionnement de l'Union
J'allais à travers l'union et union all logique et en essayant d'exemples. Ce qui a me laisse perplexe est pourquoi est-il nécessaire d'avoir le même nombre de colonnes dans les deux tables pour effectuer un syndicat ou d'une union de toutes les opérations?
Pardonnez-moi si ma question est bête, mais je ne pouvais pas obtenir la réponse exacte n'importe où. Et sur le plan conceptuel de la pensée, tant qu'une colonne commune est présente, la fusion de deux tables doivent être facile à droite?(comme une opération de jointure). Mais ce n'est pas le cas, et je veux savoir pourquoi?
Rejoindre et l'Union de tous sont deux concepts différents, l'Union de toutes les fusionner deux ensembles de résultats dans UN que la Jointure combine vos colonnes dans un résultat défini.
Oui Bon! D'accord 🙂
Oui Bon! D'accord 🙂
OriginalL'auteur Sparky | 2013-01-31
Vous devez vous connecter pour publier un commentaire.
Les opérations de JOINTURE ne nécessitent PAS le même nombre de colonnes sélectionnées dans les deux tables. Des opérations de l'UNION sont différents que les jointures. Il pense que deux listes distinctes de données qui peuvent être "collés" ensemble dans un gros bloc. Vous ne pouvez pas avoir des colonnes qui ne correspondent pas.
Une autre façon de le voir est une JOINTURE fait ceci:
Une UNION fait ceci:
REJOINT ajouter des colonnes pour les lignes, les SYNDICATS ajoute plus de lignes pour les lignes existantes. C'est pourquoi ils doivent "match".
Matt
Voir qui serait logique, si vous utilisez des tables entières. J'ai été en mesure d'obtenir une union entre 3 tables différentes avec nombre différent de colonnes lorsque j'ai été en utilisant un syndicat sur le sélectionne une colonne pour chaque table. Mais quand j'ai essayé d'utiliser de l'union(l'union de par lui-même ne retourne des lignes) comme un select * from table "" où "ID" n'est pas (de l'union), il a appelé il y a erreur. Pouvez-vous expliquer pourquoi ce qui se passerait?
OriginalL'auteur mrunion
Opération De Jointure
combines columns from two tables
.Où l'Union et Union all
combines two results sets
, afin de combiner les deux résultats dont vous avez besoin pour avoir le même nombre de colonnes avec des types de données compatibles.Dans le monde réel, par exemple pour jouer à un jeu de cricket, vous avez besoin de 11 joueurs dans les deux équipes, 7 dans une seule équipe et 11 dans l'autre équipe n'est pas autorisée.
OriginalL'auteur mr_eclair
Permet de dire que vous avez EMPTable avec les colonnes et les valeurs comme ci-dessous:
id, le nom, l'adresse, le salaire, la date de naissance
1, 'SAM', '2 Merck Ln', 100000, '08/18/1980'
SI vous voulez de l'UNION avec seulement le nom de la colonne (permet de dire que la valeur est "TOBY"), il signifie que vous avez à défaut d'autres valeurs à NULL (un logiciel intelligent ou db peut implicitement le faire pour vous), qui dans son essence se traduit par ci-dessous (pour éviter l'intégrité d'une table relationnelle) ->
Une "union", par définition, est une fusion de (autre) des valeurs de LA même catégorie ou d'un type.
OriginalL'auteur SACHIN
Vous avez besoin à la recherche de la différence entre
UNION
etJOIN
.Fondamentalement, vous utilisez
UNION
lorsque vous souhaitez obtenir des enregistrements à partir d'une source (table, vue de groupe des tables, etc) et de combiner ces résultats avec des enregistrements à partir d'une autre source. Ils doivent avoir les mêmes colonnes pour obtenir un ensemble commun de résultats.Vous utilisez
JOIN
lorsque vous voulez vous joindre à des enregistrements à partir d'une source par une autre source. Il existe plusieurs types de Jointures (INTÉRIEURE, à GAUCHE, à DROITE, etc) selon vos besoins. Lors de l'utilisation de Jointures, vous pouvez spécifier selon les colonnes que vous souhaitez.Bonne chance.
OriginalL'auteur sgeddes
rejoindre sont essentiellement utilisés lorsque l'on veut obtenir des données de deux tables ou plus, et pour cela il n'y a pas besoin de chercher même nombre de colonnes, considérons une situation où en utilisant la normalisation des concepts, nous avons divisé la table en deux parties,
emp [eid, ename,edob,esal]
emp_info [eid,emob_no]
ici, je nous voulons connaître le nom et pas de mobile. de tous les employés ensuite, nous allons utiliser la notion de jointure, car ici l'information nécessaire en nous ne peut pas être fourni par une même table.
nous allons donc utiliser..
SELECT E. NOM,l'IE.EMOB_NO DE EMP E, EMP_INFO IE OÙ E. EID = EI.EID ET INFÉRIEURE(E. ENAME)='jean' ;
maintenant considérer au sujet de la situation où nous voulons trouver des employés de ces compte d'épargne et de prêt de compte dans une banque.. ici, nous voulons trouver des tuples à partir de deux tableaux de résultats. pour cela, nous allons utiliser les opérations sur les ensembles. [ carrefour ]
pour les opérations set 2 conditions DOIVENT ÊTRE remplies.
même pas. des attributs doit être extrait à partir de chaque table.
domaine de chaque attribut doit être à même de compatible à un supérieur...
OriginalL'auteur Mayank Tiwari