Wat is het verschil tussen JOIN en UNION?

Wat is het verschil tussen JOINen UNION? Mag ik een voorbeeld?


Antwoord 1, autoriteit 100%

UNIONplaatst regels van zoekopdrachten achter elkaar, terwijl JOINeen cartesiaans product maakt en subsets maakt — totaal verschillende bewerkingen. Triviaal voorbeeld van UNION:

mysql> SELECT 23 AS bah
    -> UNION
    -> SELECT 45 AS bah;
+-----+
| bah |
+-----+
|  23 | 
|  45 | 
+-----+
2 rows in set (0.00 sec)

vergelijkbaar triviaal voorbeeld van JOIN:

mysql> SELECT * FROM 
    -> (SELECT 23 AS bah) AS foo 
    -> JOIN 
    -> (SELECT 45 AS bah) AS bar
    -> ON (33=33);
+-----+-----+
| foo | bar |
+-----+-----+
|  23 |  45 | 
+-----+-----+
1 row in set (0.01 sec)

Antwoord 2, autoriteit 20%

UNIONcombineert de resultaten van twee of meer zoekopdrachten in een enkele resultatenset die alle rijen bevat die bij alle zoekopdrachten in de unie horen.

Door JOINste gebruiken, kunt u gegevens uit twee of meer tabellen op basis van logische relaties tussen de tabellen. Joins geven aan hoe SQL gegevens uit de ene tabel moet gebruiken om de rijen in een andere tabel te selecteren.

De UNION-bewerking is anders dan het gebruik van JOIN’s die kolommen uit twee tabellen combineren.

UNION Voorbeeld:

SELECT 1 AS [Column1], 2 AS [Column2]
UNION
SELECT 3 AS [Column1], 4 AS [Column2]

Uitgang:

Column1    Column2
-------------------
1          2
3          4

Join voorbeeld:

SELECT a.Column1, b.Column2 FROM TableA a INNER JOIN TableB b ON a.Id = b.AFKId

Hiermee wordt alle rijen uitgevoerd van beide tabellen waarvoor de aandoening a.Id = b.AFKIdwaar is.


3, Autoriteit 17%

U kunt dezelfde schematische uitleg voor beide zien, maar deze zijn volledig verwarrend.

Voor Unie:

Voor join:


4, Autoriteit 13%

JOIN:

Een join wordt gebruikt voor het weergeven van kolommen met hetzelfde of
verschillende namen van verschillende tabellen. De weergegeven uitvoer
Zal alle kolommen afzonderlijk worden getoond. Dat is de
Kolommen worden naast elkaar uitgelijnd.

Unie:

De UNION SET-operator wordt gebruikt voor het combineren van gegevens van twee
tabellen met kolommen met hetzelfde datatype.
Wanneer een vakbond wordt uitgevoerd, zullen de gegevens van beide tabellen zijn
verzameld in een enkele kolom met hetzelfde datatype.

Bijvoorbeeld:

Zie de volgende onderstaande tabellen:

Table t1
Articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
Table t2
manufacturer_id manufacturer
1 ABC Gmbh
2 DEF Co KG

Nu voor het uitvoeren van een toetredingstype wordt hieronder weergegeven.

SELECT articleno, article, manufacturer
FROM t1 JOIN t2 ON (t1.manufacturer_id =
t2.manufacturer_id);
articelno article manufacturer
1 hammer ABC GmbH
2 screwdriver DEF Co KG

Dat is een join.

UNION betekent dat je tabellen of resultaten moet instellen met de
hetzelfde aantal en type kolommen en je voegt dit toe aan
tabellen/resultatensets bij elkaar. Bekijk dit voorbeeld:

Table year2006
Articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
Table year2007
Articleno article price manufacturer_id
1 hammer 6 $ 3
2 screwdriver 7 $ 4
SELECT articleno, article, price, manufactruer_id
FROM year2006
UNION
SELECT articleno, article, price, manufacturer_id
FROM year2007
articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
1 hammer 6 $ 3
2 screwdriver 7 $ 4

Antwoord 5, autoriteit 7%

Het zijn totaal verschillende dingen.

Een joinstelt je in staat vergelijkbare gegevens in verschillende tabellen te relateren.

Een samenvoeging retourneert de resultaten van twee verschillende zoekopdrachten als een enkele recordset.


Antwoord 6, autoriteit 4%

Union laat twee zoekopdrachten er als één uitzien. Joins zijn voor het onderzoeken van twee of meer tabellen in een enkele query-instructie


Antwoord 7

Joins en unions kunnen worden gebruikt om gegevens uit een of meer tabellen te combineren. Het verschil zit in de manier waarop de gegevens worden gecombineerd.

In eenvoudige bewoordingen combineren joins gegevens in nieuwe kolommen. Als twee tabellen zijn samengevoegd, worden de gegevens van de eerste tabel weergegeven in één reeks kolommen naast de kolom van de tweede tabel in dezelfde rij.

Unions combineren gegevens in nieuwe rijen. Als twee tabellen aan elkaar zijn “verbonden”, dan bevinden de gegevens uit de eerste tabel zich in één set rijen en de gegevens uit de tweede tabel in een andere set. De rijen hebben hetzelfde resultaat.


Antwoord 8

Vergeet niet dat Union de resultaten zal samenvoegen (SQL Serverom zeker te zijn)(feature or bug?)

select 1 as id, 3 as value
union
select 1 as id, 3 as value

id,waarde

1,3

select * from (select 1 as id, 3 as value) t1 inner join (select 1 as id, 3 as value) t2 on t1.id = t2.id

id,waarde,id,waarde

1,3,1,3


Antwoord 9

1.
De SQL Joins-clausule wordt gebruikt om records uit twee of meer tabellen in een database te combineren. Een JOIN is een manier om velden uit twee tabellen te combineren door waarden te gebruiken die voor beide tabellen gelden.

2.
De SQL UNION-operator combineert het resultaat van twee of meer SELECT-instructies.
Elke SELECT-instructie binnen de UNION moet hetzelfde aantal kolommen hebben. De kolommen moeten ook vergelijkbare gegevenstypen hebben. Ook moeten de kolommen in elke SELECT-instructie in dezelfde volgorde staan.

bijvoorbeeld:
tafel 1 klanten/tafel 2 bestellingen

innerlijke deelname:

SELECTEER ID, NAAM, BEDRAG, DATUM

VAN KLANTEN

INNER JOIN ORDERS

OP CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

vereniging:

SELECTEER ID, NAAM, BEDRAG, DATUM

VAN KLANTEN

LINKER JOIN ORDERS

OP CUSTOMERS.ID = ORDERS.CUSTOMER_ID

UNIE

SELECTEER ID, NAAM, BEDRAG, DATUM

VAN KLANTEN

RIGHT JOIN ORDERS

OP CUSTOMERS.ID = ORDERS.CUSTOMER_ID;


Antwoord 10

UNION gebruiken

Union combineert de resultaten van twee of meer vragen in een enkele resultaat die alle rijen bevat die behoren tot alle vragen in de Unie.

Union Voorbeeld:
Selecteer 121 als [Column1], 221 als [Column2]
UNIE
Selecteer 321 als [Column1], 422 als [Column2]
Output:
Column1 Column2
--------------------
121 221
321 422

Sing-singeljaren

Joins, u kunt gegevens ophalen van twee of meer tabellen op basis van logische relaties tussen de tabellen.

Join voorbeeld:
Selecteer A.Column1, B. Column2 van TBLA A Inner Join TBLB B op A.ID = B.In

11

In het samenvatting zijn ze vergelijkbaar, in het feit dat twee tabellen of resultaatsets worden gecombineerd, maar de Unie is echt voor het combineren van resultaatets met hetzelfde aantal kolommen met de kolommen met vergelijkbare gegevenstypen. De structuur is hetzelfde, alleen nieuwe rijen worden toegevoegd.

In joins kunt u tabellen / resultaat in combinatie met elke mogelijke structuur combineren, waaronder een cartesiaan die geen gedeelde / soortgelijke kolommen zijn.


12

De Union-exploitant is alleen voor het combineren van twee of meer Select-verklaringen.

Terwijl u lid is voor het selecteren van rijen van elke tabel, hetzij door de innerlijke, buitenste, linker- of rechtermethode.

Raadpleeg hier en hier . Er is een betere verklaring met voorbeelden.


13

Ik vind het leuk om aan het algemene verschil te denken als zijnde:

  • Joins Join Down Tables
  • Union (ET ALL) combineert vragen.

Other episodes