Enkla sätt att ansluta tre tabeller i SQL (med bilder)

Innehållsförteckning:

Enkla sätt att ansluta tre tabeller i SQL (med bilder)
Enkla sätt att ansluta tre tabeller i SQL (med bilder)

Video: Enkla sätt att ansluta tre tabeller i SQL (med bilder)

Video: Enkla sätt att ansluta tre tabeller i SQL (med bilder)
Video: AutoHotkey - Beginners tutorial (All the basic functions) 2024, April
Anonim

När du arbetar med tabeller i SQL kan det finnas situationer när du behöver fråga tre eller flera tabeller. Du kan gå med i tre tabeller genom att först använda ett kopplingsuttalande för att sammanfoga två tabeller för att skapa en tillfällig sammanfogad tabell. Använd sedan ett andra kopplingsuttalande för att gå med i den tredje tabellen.

Steg

11227971 1
11227971 1

Steg 1. Skriv SELECT följt av de kolumnnamn du vill fråga

Skriv kolumnnamnet från var och en av de tre du vill fråga. Separera varje kolumnnamn med ett komma. I det här exemplet kommer vi att fråga från tre tabeller med namnet "Studenter", "Skolor", "Detaljer"

Till exempel SELECT student_id, student_name, school_id, school, grade

11227971 2
11227971 2

Steg 2. Skriv FROM följt av det första tabellnamnet

Detta kan gå på en separat rad eller omedelbart efter det första uttalandet. I vårt exempel skulle vi skriva FRÅN Studenter.

11227971 3
11227971 3

Steg 3. Skriv ett kopplingsuttalande följt av namnet på den andra tabellen

Det finns fyra typer av kopplingsuttalanden som du kan använda för att ansluta två tabeller. De är följande:

  • Skriv JOIN för att göra en Inre koppling. Detta returnerar poster som har matchande värden i båda tabellerna. Till exempel från studenter gå med detaljer.
  • Skriv VÄNSTER JOIN för att göra en Yttre vänster anslutning. Detta returnerar alla poster från den vänstra tabellen och matchande värden från den högra tabellen. Till exempel från studenter VÄNSTER JOIN Detaljer.
  • Skriv RIGHT JOIN för att göra en Yttre höger Gå med. Detta returnerar alla poster från den högra tabellen och matchande värden från den vänstra tabellen. Till exempel FRÅN studenter HÖGRE GÅ MED Detaljer.
  • Skriv FULL JOIN för att göra en Full yttre anslutning. Detta returnerar alla poster från båda tabellerna. Till exempel FROM Students FULL JOIN Details.
11227971 4
11227971 4

Steg 4. Skriv ett "ON" -uttalande för tabellerna och kolumnerna sammanfogas

Syntaxen för detta uttalande är "ON table_1.primary_key = table_2.foreign_key". "Table_1" är namnet på den första tabellen du går med i och "primary_key" är primärkolumnens namn i den första tabellen. "Tabell_2" är namnet på den andra tabellen och "främmande_nyckel" är ett kolumnnamn från den andra tabellen som matchar den primära kolumnen från den första tabellen.

  • I vårt exempel är "Studenter" den första tabellen och "student_id" är huvudnyckeln från tabellen Studenter, som också finns i tabellen Detaljer. Så vi skulle skriva ON Students.student_id = Details.student_id. Detta förenar Studenter -tabellen med tabellen Detaljer med "student_id" som huvudnyckel.
  • Alternativt, om kolumnen studentnamn finns i tabellen "Detaljer" kan du visa kolumnen studentnamn istället för fältet student_id genom att skriva PÅ Students.student_id = Details.student_name.
11227971 5
11227971 5

Steg 5. Skriv ett kopplingsuttalande följt av namnet på den tredje tabellen

Detta kan vara på en separat rad eller omedelbart efter "ON" -uttalandet som gick med i de två första tabellerna. Du kan använda vilken som helst av de fyra sammanfogningsuppgifterna.

I vårt exempel skulle vi skriva JOIN Schools

11227971 6
11227971 6

Steg 6. Skriv ett "ON" -uttalande som anger vilka tabeller och kolumner som ska sammanfogas

Syntaxen för den tredje kopplingen är "ON table_3.primary_key = table_1.foreign_key". "Bord 1". "Tabell_3 är namnet på den tredje tabellen. Detta lägger till tabell tre till den slutliga kopplingen med hjälp av det primära kolumnnamnet från den tredje tabellen och den främmande nyckeln från den första tabellen. I vårt exempel skulle vi skriva ON Schools.student_id = Students.student_id. Hela anslutningsuttalandet ska se ut ungefär så här:

    VÄLJ student_id, elevnamn, skola_id, skola, betyg FRÅN studenter FULLT JOIN Detaljer PÅ Students.student_id = Details.student_id GÅ MED i skolor ON Schools.student_id = Students.student_id

Rekommenderad: