Enkle måder at slutte sig til tre tabeller i SQL (med billeder)

Indholdsfortegnelse:

Enkle måder at slutte sig til tre tabeller i SQL (med billeder)
Enkle måder at slutte sig til tre tabeller i SQL (med billeder)

Video: Enkle måder at slutte sig til tre tabeller i SQL (med billeder)

Video: Enkle måder at slutte sig til tre tabeller i SQL (med billeder)
Video: AutoHotkey - Beginners tutorial (All the basic functions) 2024, Marts
Anonim

Når du arbejder med tabeller i SQL, kan der være nogle situationer, hvor du skal spørge om tre eller flere tabeller. Du kan slutte sig til tre tabeller ved først at bruge en join -erklæring til at forbinde to tabeller for at oprette en midlertidig sammenføjet tabel. Brug derefter en anden join -sætning til at slutte sig til den tredje tabel.

Trin

11227971 1
11227971 1

Trin 1. Skriv SELECT efterfulgt af de kolonnenavne, du vil spørge om

Skriv kolonnenavnet fra hver af de tre, du vil spørge om. Adskil hvert kolonnenavn med et komma. I dette eksempel forespørger vi fra tre tabeller med navnet "Elever", "Skoler", "Detaljer"

For eksempel VÆLG elev_id, elevnavn, skole_id, skole, karakter

11227971 2
11227971 2

Trin 2. Skriv FROM efterfulgt af det første tabelnavn

Dette kan gå på en separat linje eller umiddelbart efter den første erklæring. I vores eksempel ville vi skrive FROM Students.

11227971 3
11227971 3

Trin 3. Skriv en join -erklæring efterfulgt af navnet på den anden tabel

Der er fire typer join -sætninger, du kan bruge til at forbinde to tabeller. De er som følger:

  • Skriv JOIN for at lave en Indre tilslutning. Dette returnerer poster, der har matchende værdier i begge tabeller. For eksempel FRA studerende Deltag i detaljer.
  • Skriv LEFT JOIN for at lave en Ydre Venstre Deltag. Dette returnerer alle poster fra den venstre tabel og matchende værdier fra den højre tabel. For eksempel fra studerende VENSTRE JOIN detaljer.
  • Skriv HØJRE JOIN for at gøre en Ydre højre Deltag. Dette returnerer alle poster fra den højre tabel og matchende værdier fra den venstre tabel. For eksempel FRA Studerende HØJRE Deltag i detaljer.
  • Skriv FULL JOIN for at gøre en Fuld ydre tilslutning. Dette returnerer alle poster fra begge tabeller. For eksempel fra studerende FULL JOIN Detaljer.
11227971 4
11227971 4

Trin 4. Indtast en "ON" -udsætning for tabellerne og kolonnerne, der forbindes

Syntaksen for denne erklæring er "ON table_1.primary_key = table_2.foreign_key". "Tabel_1" er navnet på den første tabel, du slutter dig til, og "primær_nøgle" er det primære kolonnenavn i den første tabel. "Tabel_2" er navnet på den anden tabel, og "fremmed_nøgle" er et kolonnenavn fra den anden tabel, der matcher den primære kolonne fra den første tabel.

  • I vores eksempel er "Elever" den første tabel, og "student_id" er den primære nøgle fra tabellen Studerende, som også er i tabellen Detaljer. Så vi ville skrive ON Students.student_id = Details.student_id. Dette forbinder Studenter -tabellen med tabellen Detaljer ved hjælp af "student_id" som den primære nøgle.
  • Alternativt, hvis kolonnen elevnavn er i tabellen "Detaljer", kan du vise kolonnen elevnavn i stedet for feltet student_id ved at skrive ON Students.student_id = Details.student_name.
11227971 5
11227971 5

Trin 5. Skriv en join -sætning efterfulgt af navnet på den tredje tabel

Dette kan være på en separat linje eller umiddelbart efter "ON" -udsagnet, der sluttede sig til de to første tabeller. Du kan bruge en hvilken som helst af de fire sammenføjningssætninger.

I vores eksempel ville vi skrive JOIN Schools

11227971 6
11227971 6

Trin 6. Skriv en "ON" -sætning, der angiver, hvilke tabeller og kolonner der vil blive forbundet

Syntaksen for det tredje join er "ON table_3.primary_key = table_1.foreign_key". "Tabel 1". "Tabel_3 er navnet på den tredje tabel. Dette tilføjer tabel tre til den sidste sammenføjning ved hjælp af det primære kolonnenavn fra den tredje tabel og den udenlandske nøgle fra den første tabel. I vores eksempel ville vi skrive ON Schools.student_id = Students.student_id. Hele join -erklæringen skal se sådan ud:

    VÆLG student_id, student_name, school_id, school, grade FRA Students FULL JOIN Details ON Students.student_id = Details.student_id Deltag i skoler ON Schools.student_id = Students.student_id

Anbefalede: