SQL Full Outer Join (Dansk)

Sidste opdatering 26. februar 2020 08:07:43 (UTC / GMT +8 timer)

Hvad er Full Outer Join i SQL?

I SQL kombinerer FULL OUTER JOIN resultaterne af både venstre og højre ydre sammenføjning og returnerer alle (matchede eller umatchede) rækker fra tabellerne på begge sider af sammenføjningsklausulen.

Syntaks:

SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;

Syntaksdiagram – FULD OUTER JOIN

Eksempel : SQL FULL OUTER JOIN

Lad os kombinere de samme to tabeller ved hjælp af en fuld sammenføjning.

SQL-kode:

Output:

Da dette er en fuld sammenføjning, er alle rækker (både matchende og ikke-matchende) fra begge tabeller inkluderet i output. Der er kun en match mellem tabel table_A og tabel table_B, så kun en række output viser værdier i alle kolonner. Alle resterende outputrækker indeholder kun værdier fra tabel table_A eller tabel table_B, hvor de resterende kolonner er indstillet til manglende værdier

kun en række output viser værdier i alle kolonner, forklar nedenfor –

Billedpræsentation: SQL FULD OUTER JOIN



Eksempel: SQL FULL OUTER JOIN mellem to tabeller

Her er et eksempel på fuld ydre sammenføjning i SQL mellem to borde.

Eksempel på tabel: fødevarer

Eksempel på tabel: firma

Som vi ved, at FULL OUTER JOIN er kombinationen af resultaterne af både LEFT OUTER JOIN og RIGHT OUTER JOIN, så her skal vi beskrive, hvordan FULD OUTER JOIN udfører internt.

Billedpræsentation:

Her er SQL-sætningen, som returnerer alle rækker fra “fødevarer” -tabellen og “firma” -tabellen ved hjælp af “FULL OUTER JOIN” -klausul.

SQL-kode:

Output:

FULL OUTER JOIN ved hjælp af WHERE-klausul

Vi kan inkludere en WHERE-klausul med en FULL OUTER JOIN for kun at returnere disse rækker hvor der ikke findes nogen matchende data mellem de sammenføjningstabeller.

Den følgende forespørgsel returnerer kun det firma, der ikke har noget matchende fødevareprodukt i fødevarer, samt det fødevareprodukt i fødevarer, der ikke matches med det børsnoterede selskab.

Output:

a.ComID C_Name b.ComID I_Name---------- ------------------------- ---------- ---------------19 sip-n-Bite. Salt n Shake

FULD OUTER JOIN ved hjælp af UNION-klausul

En UNION-klausul kan bruges som en alternativ for at få det samme resultat som FULD OUTER JOIN

Her er eksemplet:

Her er SQL-sætningen:

SELECT table_a.A,table_a.M,table_b.A,table_b.N FROM table_A FULL OUTER JOIN table_B ON table_A.a=table_b.A ORDER BY table_A.A;

FULD OUTER JOIN ved hjælp af VENSTRE og HØJRE OUTER JOIN og UNION-klausul

Følgende kode er kombinationen af LEFT OUTER JOIN og RIGHT OUTER JOIN og kombineret ved hjælp af UNION-klausul

Bemærk: Outputs af den nævnte SQL-sætning vist her tages ved hjælp af Oracle Database 10g Express Edition .

Klik på følgende for at få vist præsentationer af alle JOINS –

Her er et nyt dokument, som er en samling af spørgsmål med korte og enkle svar, nyttige til indlæring af SQL såvel som til interviews.

Øv SQL-øvelser

  • SQL-øvelser, øvelse, løsning
  • SQL Hent data fr om tabeller
  • SQL-boolske og relationelle operatorer
  • SQL-jokertegn og specielle operatorer
  • SQL-samlede funktioner
  • SQL-formatering af forespørgselsoutput
  • SQL-quering på flere tabeller
  • FILTERING og SORTERING på HR-database
  • SQL JOINS
    • SQL JOINS
    • SQL JOINS på HR-database
  • SQL-UNDERFØRINGER
    • SQL-UNDERFØRINGER
    • SQL-UNDERFØRINGER på HR-database
  • SQL Union
  • SQL-visning
  • SQL-brugerkontostyring
  • Filmdatabase
    • GRUNDLÆGGENDE forespørgsler på filmdatabase
    • SUBQUERIES on movie Database
    • JOINS on movie Database
  • Soccer Database
    • Introduktion
    • GRUNDLÆGGENDE forespørgsler om fodbolddatabase
    • UNDERFØRINGER om fodbolddatabase
    • FORENER forespørgsler om fodbolddatabase
  • Hospitaldatabase
    • Introduktion
    • GRUNDLÆGGENDE, UNDERFORDRINGER OG FORENINGER
  • Medarbejderdatabase
    • GRUNDLÆGGENDE forespørgsler om medarbejderdatabase
    • UNDERFØRINGER om medarbejderdatabase
  • Mere at komme!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *