Introduktion till Joins i MySQL

MySQL Joins spelar en viktig roll när vi måste gå ihop med två tabeller tillsammans baserat på en eller flera vanliga värden som delas av två tabeller.

Exempel : Låt oss anse att vi har två tabeller, en är medarbetartabellen som består av medarbetarid, phn_no, lön och avdelning. En annan tabell är adresstabellen som består av medarbetarid och adress. Om vi ​​behöver ta reda på medarbetare_id, avdelning och adress, måste vi gå med i båda tabellerna som delar gemensamma fält som medarbetar_id.

Fråga :

SELECT e1.employee_id, e1.department, a1.address
FROM employee e1
INNER JOIN address a1
ON e1.employee_id = a1.employee_id;

Topp 6 typer av sammanfogningar i MySQL

Det finns olika typer av Joins i MySQL. Nedan nämnda sammanfogningar stöter på i daglig användning och mest användbara när du utför många frågor i verkliga fall.

  1. Inre koppling
  2. Vänster gå med
  3. Höger gå med
  4. Hel yttre koppling
  5. Själv gå
  6. Kors gå med

1. Inre gå

Inre join returnerar värdet som matchar i båda tabellerna.

Denna del kommer i utgången som visas på bilden ovan.

Exempel 1:

anst_id Avdelning Lön
1001 DEN 1000
1002 CSR 800
1003 DEN 2000

Detta är medarbetartabellen.

anst_id Adress
1002 delhi
1003 Bangalore
1005 Bbsr

Här är adresstabellen för de anställda. Den överordnade tabellmedarbetarens primära nyckel emp_id används som den utländska nyckeln i adresstabellen som är underordnade tabeller. Vi hittar emp_id, avdelning och adress för en anställd som använder inner join. Eftersom inre sammanfogningstillstånd hämtar det de poster som är närvarande / vanliga i båda tabellerna.

Fråga:

SELECT emp.emp_id, emp.department, ads.address
FROM employee AS emp
INNER JOIN address AS ads
ON emp.emp_id = ads.emp_id;

Vi ger ett alias till tabellnamnet bara för att undvika mer tidskrävande. I frågan ovan använder vi alias 'emp' för medarbetartabellen och 'annonser' för adresstabellen.

Produktion:

anst_id Avdelning Adress
1002 CSR delhi
1003 DEN Bangalore

Som i exemplet ovan emp_id 1002 och 1003 var vanliga mellan båda tabellerna, hämtar det inre sammanfogningskommando endast utmatningen för dessa anställda.

Exempel 2:

Här har vi 2 tabeller, tabell1 och tabell2. Båda tabellerna består av ett attribut vardera som kolumn A respektive kolumn B.

Bord 1

Kolumn A
1
1
2
3
4

Tabell 2

Kolumn B
1
2
2
3
3
5

Fråga:

If we apply inner join here,
SELECT * FROM Table1
INNER JOIN table2
ON columnA = columnB;

Produktion:

Kolumn A Kolumn B
1 1
1 Null
2 2
Null 2
3 3
Null 3

2. Vänster gå med

Denna sammanfogning returnerar alla poster från det vänstra bordet och de matchade posterna från den högra tabellen.

Som diagrammet ovan visar består det av alla poster i tabell A och de vanliga från A och B.

Exempel 1:

Kundnummer namn Stad
1 Harish Cuttack
2 David Bangalore
3 Mahesh Bhubaneswar
4 Sam Kolkata

Kundtabell:

ORDER_ID Belopp Kundnummer
19868 7575, 00 4
19976 434654, 00 2
99.680 7457, 00 3

Beställningstabell:

Vi kommer att ta reda på customer_id, name och order_id associerade med hjälp av left join.

Fråga:

SELECT cust.Customer_id, cust.Name, ord.Order_id
FROM customer cust
LEFT JOIN order ord
ON cust.customer_id = ord.customer_id;

Produktion:

Kundnummer namnORDER_ID
1 Harish null
2 David 19976
3 Mahesh 99.680
4 Sam 19868

När vi diskuterade detta vänster samlade hämtade alla kund-ID från kundtabellen och de vanliga mellan båda tabellerna. För customer_id '1' kommer den att visas som 'null' eftersom '1' customer_id inte finns i ordertabellen.

Exempel 2:

Här har vi 2 tabeller, tabell1 och tabell2. Båda tabellerna består av ett attribut vardera som kolumn A respektive kolumn B.

Bord 1

Kolumn A
1
1
2
2
3

Tabell 2

Kolumn B
1
2
2
4
4
5
5

Fråga:

If we apply left join on above 2 tables,
SELECT * FROM table1
LEFT JOIN table2
ON columnA = columnB;

Kolumn A Kolumn B
1 1
1 Null
2 2
2 2
3 Null

3. Right Delta

Denna sammanfogning returnerar alla poster från den högra tabellen och matchande poster från den vänstra tabellen.

Diagrammet ovan visar att det hämtar alla poster från tabell B och den vanliga som finns i båda tabellerna.

Exempel:

Kundnummer namn Stad
3 Mahesh Bhubaneswar
4 Sam Kolkata
5 Bagge Mumbai

Kundtabell:

ORDER_ID Belopp Kundnummer
19868 7575, 00 4
19976 434654, 00 2
99.680 7457, 00 3

Beställningstabell:

Vi kommer att ta reda på customer_id, name och order_id associerade med det genom att använda rätt join.

Fråga:

SELECT cust.Customer_id, cust.Name, ord.Order_id
FROM customer cust
RIGHT JOIN order ord
ON cust.customer_id = ord.customer_id;

Produktion:

Kundnummer namn ORDER_ID
2 null 19976
3 Mahesh 99.680
4 Sam 19868

När vi utförde just gå med här, så hämtade frågan all kund-ID från beställningstabellen och de vanliga poster som finns i båda tabellerna.

4. Full Outer Join

Hela yttre sammanfogningen returnerar alla poster från båda tabellerna om det finns ett gemensamt fält som delas.

Exempel:

Kundnummer namn Stad
3 Mahesh Bhubaneswar
4 Sam Kolkata
5 Bagge Mumbai

Kundtabell:

ORDER_ID Belopp Kundnummer
19868 7575, 00 4
19976 434654, 00 2
99.680 7457, 00 3

Beställningstabell:

Vi kommer att ta reda på customer_id, name och order_id associerade med det genom att använda en fullständig yttre koppling.

Fråga:

SELECT cust.Customer_id, cust.Name, ord.Order_id
FROM customer cust
FULL OUTER JOIN order ord
ON cust.customer_id = ord.customer_id;

Produktion:

Kundnummer namn ORDER_ID
2 null 19976
3 Mahesh 99.680
4 Sam 19868
5 Bagge null

Denna fulla yttre sammanfogning hämtade alla kund-ID från kundtabellen såväl som beställningstabellen.

5. Självmedlem

Självmedlemskap är ett regelbundet sammanfogande och här går bordet bara med sig själv.

anst_id namn Telefonnr Stad Land
1001 R. Madhvan 9687687698 Bangalore Indien
1002 Gobu Sharma 9856453423 Pune Indien
1003 Debasish Das 8765456787 Mumbai Indien
1004 Amit Rout 4567788635 Pune Indien
1005 Sambit Kar 8789887873 Hyderabad Indien

Här är medarbetartabellen som består av flera fält. Vi kommer att ta reda på de anställda som bor i samma stad.

Fråga :

SELECT e1.name AS Employee_name1, e2.name AS employee_name2, e1.City
FROM employee e1, employee e2
WHERE e1.name e2.name
AND e1.city = e2.city;

Utgång :

Employee_name1 Employee_name2 e1.city
Gobu Sharma Amit Rout Pune
Amit Rout Gobu Sharma Pune

6. Cross Cross

Denna sammanfogning ger ett resultat där antalet rader i den första tabellen multipliceras med raderna i den andra tabellen. Denna typ av resultat kallas den kartesiska produkten. Om vi ​​använder WHERE-klausulen med denna sammanfogning, fungerar detta som en inre koppling.

Exempel:

Prod_id Produktnamn Prod_unit Företags ID
1 Chex mix st 12
2 Cheez-it st 15
3 Kex st 16

Produkt tabell:

Företags ID Företagsnamn Company_city
15 foodies delhi
16 Jack n Jill Cuttack
17 Naturlig Bangalore

Företagstabell :

Vi kommer att tillämpa en korsning på dessa tabeller.

Fråga :

SELECT p.product_name, p.prod_unit, c.company_name
FROM product p
CROSS JOIN company c;

Utgång :

p.product_name p.prod_unit c.company_name
Chex mix st foodies
Cheez-it st foodies
Kex st foodies
Chex mix st Jack n Jill
Cheez-it st Jack n Jill
Kex st Jack n Jill
Chex mix st Naturlig
Cheez-it st Naturlig
Kex st Naturlig

Slutsats

Betydelsen av dessa sammanfogningar är mycket viktig när du arbetar i realtidsscenarier och i vissa andra tekniker också. I visualiseringar som Tableau och Power BI spelar föreningar en viktig roll. Den strukturerade praktiken av detta är nyckeln till att bädda in dessa nya tekniker och färdigheter.

Rekommenderad artikel

Detta är en guide till Joins i MySQL. Här diskuterar vi de sex främsta typerna av sammanfogningar i MySQL som Inner, Left, Right, Full, Self, Cross och dess exempel tillsammans med Query and Output. du kan också gå igenom våra föreslagna artiklar för att lära dig mer -

  1. Topp 10 MySQL-kommandon
  2. Introduktion till MySQL-operatörer
  3. MySQL vs SQLite | Topp 14 jämförelse
  4. Topp 23 MySQL String-funktioner
  5. Förklara Infoga kommando i MySQL med exempel
  6. Topp 6 skillnader mellan primär nyckel och utländsk nyckel