Eenvoudige manieren om drie tabellen in SQL samen te voegen (met afbeeldingen)

Inhoudsopgave:

Eenvoudige manieren om drie tabellen in SQL samen te voegen (met afbeeldingen)
Eenvoudige manieren om drie tabellen in SQL samen te voegen (met afbeeldingen)

Video: Eenvoudige manieren om drie tabellen in SQL samen te voegen (met afbeeldingen)

Video: Eenvoudige manieren om drie tabellen in SQL samen te voegen (met afbeeldingen)
Video: AutoHotkey - Beginners tutorial (All the basic functions) 2024, April
Anonim

Wanneer u met tabellen in SQL werkt, kunnen er situaties zijn waarin u drie of meer tabellen moet opvragen. U kunt drie tabellen samenvoegen door eerst een join-instructie te gebruiken om twee tabellen samen te voegen om een tijdelijke samengevoegde tabel te maken. Gebruik vervolgens een tweede join-instructie om lid te worden van de derde tabel.

Stappen

11227971 1
11227971 1

Stap 1. Typ SELECT gevolgd door de kolomnamen die u wilt opvragen

Typ de kolomnaam van elk van de drie die u wilt opvragen. Scheid elke kolomnaam met een komma. In dit voorbeeld zoeken we uit drie tabellen met de namen "Studenten", "Scholen", "Details"

Bijvoorbeeld SELECT student_id, student_name, school_id, school, grade

11227971 2
11227971 2

Stap 2. Typ FROM gevolgd door de eerste tabelnaam

Dit kan op een aparte regel of direct na de eerste verklaring. In ons voorbeeld zouden we FROM Students typen.

11227971 3
11227971 3

Stap 3. Typ een join-instructie gevolgd door de naam van de tweede tabel

Er zijn vier soorten join-instructies die u kunt gebruiken om twee tabellen samen te voegen. Ze zijn als volgt:

  • Typ JOIN om een . te doen Innerlijke join. Dit retourneert records met overeenkomende waarden in beide tabellen. Bijvoorbeeld FROM Students JOIN Details.
  • Typ LEFT JOIN om een . te doen Buitenste Linker Join. Dit retourneert alle records uit de linkertabel en overeenkomende waarden uit de rechtertabel. Bijvoorbeeld FROM Students LEFT JOIN Details.
  • Typ RIGHT JOIN om een . te doen Buitenste rechter join. Dit retourneert alle records uit de rechtertabel en overeenkomende waarden uit de linkertabel. Bijvoorbeeld FROM Students RIGHT JOIN Details.
  • Typ FULL JOIN om een . te doen Volledige buitenste verbinding. Hiermee worden alle records van beide tabellen geretourneerd. Bijvoorbeeld FROM Students FULL JOIN Details.
11227971 4
11227971 4

Stap 4. Typ een "ON"-statement voor de tabellen en kolommen die worden samengevoegd

De syntaxis voor deze instructie is "ON table_1.primary_key = table_2.foreign_key". "Table_1" is de naam van de eerste tabel waaraan u deelneemt, en "primary_key" is de naam van de primaire kolom in de eerste tabel. "Table_2" is de naam van de tweede tabel en "foreign_key" is een kolomnaam uit de tweede tabel die overeenkomt met de primaire kolom uit de eerste tabel.

  • In ons voorbeeld is "Studenten" de eerste tabel en "student_id" is de primaire sleutel uit de tabel Studenten, die ook in de tabel Details staat. Dus we zouden ON Students.student_id = Details.student_id typen. Dit voegt de tabel Studenten samen met de tabel Details met "student_id" als primaire sleutel.
  • Als de kolom studentnaam in de tabel "Details" staat, kun je ook de kolom studentnaam weergeven in plaats van het veld student-id door ON Students.student_id = Details.student_name te typen.
11227971 5
11227971 5

Stap 5. Typ een join-instructie gevolgd door de naam van de derde tabel

Dit kan op een aparte regel staan of direct na de "ON"-instructie die de eerste twee tabellen samenvoegde. U kunt elk van de vier join-instructies gebruiken.

In ons voorbeeld zouden we JOIN Schools typen

11227971 6
11227971 6

Stap 6. Typ een "ON"-statement dat aangeeft welke tabellen en kolommen zullen worden samengevoegd

De syntaxis voor de derde join is "ON table_3.primary_key = table_1.foreign_key". "Tafel 1". "Table_3 is de naam van de derde tabel. Dit voegt tabel drie toe aan de laatste join met behulp van de primaire kolomnaam uit de derde tabel en de refererende sleutel uit de eerste tabel. In ons voorbeeld zouden we dit typen ON Schools.student_id = Students.student_id De hele join-instructie zou er ongeveer zo uit moeten zien:

    SELECT student_id, student_name, school_id, school, grade UIT Studenten VOLLEDIG DEELNEMEN Details AAN Students.student_id = Details.student_id WORD LID VAN Schools ON Schools.student_id = Students.student_id

Aanbevolen: