Proste sposoby łączenia trzech tabel w SQL (ze zdjęciami)

Spisu treści:

Proste sposoby łączenia trzech tabel w SQL (ze zdjęciami)
Proste sposoby łączenia trzech tabel w SQL (ze zdjęciami)

Wideo: Proste sposoby łączenia trzech tabel w SQL (ze zdjęciami)

Wideo: Proste sposoby łączenia trzech tabel w SQL (ze zdjęciami)
Wideo: AutoHotkey - podstawowe funkcje - Automat 4 2024, Kwiecień
Anonim

Podczas pracy z tabelami w SQL mogą wystąpić sytuacje, w których konieczne będzie wykonanie zapytania do trzech lub więcej tabel. Możesz połączyć trzy tabele, używając najpierw instrukcji join, aby połączyć dwie tabele w celu utworzenia tymczasowej tabeli połączonej. Następnie użyj drugiej instrukcji join, aby dołączyć do trzeciej tabeli.

Kroki

11227971 1
11227971 1

Krok 1. Wpisz SELECT, a następnie nazwy kolumn, które chcesz zapytać

Wpisz nazwę kolumny z każdej z trzech, które chcesz zapytać. Oddziel każdą nazwę kolumny przecinkiem. W tym przykładzie będziemy wysyłać zapytania z trzech tabel o nazwach „Uczniowie”, „Szkoły”, „Szczegóły”

Na przykład SELECT identyfikator_ucznia, nazwa_ucznia, identyfikator_szkoły, szkoła, klasa

11227971 2
11227971 2

Krok 2. Wpisz FROM, a następnie nazwę pierwszej tabeli

Może to być w osobnej linii lub bezpośrednio po pierwszej instrukcji. W naszym przykładzie wpiszemy FROM Students.

11227971 3
11227971 3

Krok 3. Wpisz instrukcję złączenia, a następnie nazwę drugiej tabeli

Istnieją cztery typy instrukcji złączenia, których można użyć do złączenia dwóch tabel. Są to:

  • Wpisz JOIN, aby wykonać Połączenie wewnętrzne. Zwraca rekordy, które mają pasujące wartości w obu tabelach. Na przykład OD uczniów DOŁĄCZ Szczegóły.
  • Wpisz LEFT JOIN, aby wykonać Zewnętrzne lewe połączenie. Zwraca to wszystkie rekordy z lewej tabeli i pasujące wartości z prawej tabeli. Na przykład FROM Students LEFT JOIN Szczegóły.
  • Wpisz RIGHT JOIN, aby wykonać a Zewnętrzne prawe połączenie. Zwraca to wszystkie rekordy z prawej tabeli i pasujące wartości z lewej tabeli. Na przykład FROM Students RIGHT JOIN Szczegóły.
  • Wpisz FULL JOIN, aby wykonać a Pełne połączenie zewnętrzne. Zwraca wszystkie rekordy z obu tabel. Na przykład FROM Students FULL JOIN Szczegóły.
11227971 4
11227971 4

Krok 4. Wpisz instrukcję "ON" dla łączonych tabel i kolumn

Składnia tej instrukcji to „ON table_1.primary_key = table_2.foreign_key”. „Tabela_1” to nazwa pierwszej tabeli, do której dołączasz, a „klucz_podstawowy” to nazwa kolumny podstawowej w pierwszej tabeli. „Tabela_2” to nazwa drugiej tabeli, a „klucz_obcy” to nazwa kolumny z drugiej tabeli, która odpowiada kolumnie podstawowej z pierwszej tabeli.

  • W naszym przykładzie „Studenci” to pierwsza tabela, a „student_id” to klucz podstawowy z tabeli Studenci, która również znajduje się w tabeli Szczegóły. Więc wpiszemy ON Students.student_id = Details.student_id. Spowoduje to połączenie tabeli Uczniowie z tabelą Szczegóły, używając klucza „student_id” jako klucza podstawowego.
  • Alternatywnie, jeśli kolumna student_name znajduje się w tabeli „Szczegóły”, możesz wyświetlić kolumnę student_name zamiast pola student_id, wpisując ON Students.student_id = Details.student_name.
11227971 5
11227971 5

Krok 5. Wpisz instrukcję złączenia, a następnie nazwę trzeciej tabeli

Może to być w osobnym wierszu lub bezpośrednio po instrukcji „ON”, która dołączyła do dwóch pierwszych tabel. Możesz użyć dowolnej z czterech instrukcji złączenia.

W naszym przykładzie napisalibyśmy JOIN Schools

11227971 6
11227971 6

Krok 6. Wpisz instrukcję „ON”, która wskazuje, które tabele i kolumny zostaną połączone

Składnia trzeciego łączenia to „ON table_3.primary_key = table_1.foreign_key”. "Tabela 1". „Table_3 to nazwa trzeciej tabeli. To dodaje tabelę trzecią do końcowego sprzężenia przy użyciu nazwy kolumny podstawowej z trzeciej tabeli i klucza obcego z pierwszej tabeli. W naszym przykładzie wpiszemy ON Schools.student_id = Studenci.student_id. Cała instrukcja join powinna wyglądać mniej więcej tak:

    SELECT student_id, student_name, school_id, school, grade FROM Students FULL JOIN Szczegóły ON Students.student_id = Details.student_id JOIN Schools ON Schools.student_id = Students.student_id

Zalecana: