Lihtsad viisid kolme tabeli ühendamiseks SQL -is (koos piltidega)

Sisukord:

Lihtsad viisid kolme tabeli ühendamiseks SQL -is (koos piltidega)
Lihtsad viisid kolme tabeli ühendamiseks SQL -is (koos piltidega)

Video: Lihtsad viisid kolme tabeli ühendamiseks SQL -is (koos piltidega)

Video: Lihtsad viisid kolme tabeli ühendamiseks SQL -is (koos piltidega)
Video: Aktiivsöe kasutamine 2024, Aprill
Anonim

SQL -i tabelitega töötamisel võib esineda olukordi, kus peate esitama päringu kolmele või enamale tabelile. Saate liituda kolme tabeliga, kasutades esmalt liitumislauset kahe tabeli ühendamiseks ajutise ühendatud tabeli loomiseks. Seejärel kasutage kolmanda tabeliga liitumiseks teist liitumislauset.

Sammud

11227971 1
11227971 1

Samm 1. Tippige SELECT ja seejärel veerunimed, mida soovite pärida

Sisestage veeru nimi iga kolme kohta, mida soovite pärida. Eraldage iga veeru nimi komaga. Selles näites esitame päringu kolmest tabelist nimega "Õpilased", "Koolid", "Üksikasjad"

Näiteks SELECT õpilase_ide, õpilase_nimi, kooli_id, kool, hinne

11227971 2
11227971 2

Samm 2. Tippige FROM, millele järgneb tabeli esimene nimi

See võib minna eraldi reale või kohe pärast esimest avaldust. Meie näites kirjutaksime FROM Students.

11227971 3
11227971 3

Samm 3. Sisestage liitumisavaldus, millele järgneb teise tabeli nimi

Kahe tabeli ühendamiseks saate kasutada nelja tüüpi liitumislauset. Need on järgmised:

  • Sisestamiseks sisestage JOIN Sisemine liitumine. See tagastab kirjed, millel on mõlemas tabelis vastavad väärtused. Näiteks FROM Students liituda detailidega.
  • Tippige LEFT JOIN, et teha Välimine vasakpoolne liitumine. See tagastab kõik kirjed vasakult tabelilt ja vastavad väärtused paremalt tabelilt. Näiteks ÕPILASTELT VASAKULT LIIDETUD Üksikasjad.
  • Tehke käsku RIGHT JOIN, et teha a Väline parem liitumine. See tagastab kõik kirjed paremast tabelist ja vastavad väärtused vasakust tabelist. Näiteks ÕPILASTELE ÕIGES LIITUMISES Üksikasjad.
  • Tippige FULL JOIN, et teha a Täielik välimine liitumine. See tagastab kõik kirjed mõlemast tabelist. Näiteks õpilastelt TÄIELIKULT LIITUDA Üksikasjad.
11227971 4
11227971 4

Samm 4. Sisestage tabelite ja veergude ühendamisel avaldus "ON"

Selle avalduse süntaks on "ON table_1.primary_key = table_2.foreign_key". "Tabel_1" on esimese liidetava tabeli nimi ja "esmane_võti" on esimese tabeli peamine veeru nimi. "Tabel_2" on teise tabeli nimi ja "võõras_võti" on teise tabeli veeru nimi, mis vastab esimese tabeli esmasele veerule.

  • Meie näites on "Õpilased" esimene tabel ja "õpilase_id" on esmane võti õpilaste tabelist, mis on samuti tabelis Üksikasjad. Seega kirjutaksime ON Students.student_id = Details.student_id. See ühendab tabeli Õpilased tabeliga Üksikasjad, kasutades esmast võtit „õpilase_id”.
  • Teise võimalusena, kui veerg õpilase_nimi on tabelis „Üksikasjad”, saate välja õpilase_id asemel kuvada veeru õpilase_nimi, sisestades ON ON Students.student_id = Details.student_name.
11227971 5
11227971 5

Samm 5. Tippige liitumisavaldus, millele järgneb kolmanda tabeli nimi

See võib olla eraldi real või vahetult pärast kahte esimest tabelit liitunud avaldust "ON". Võite kasutada ükskõik millist neljast liitumislausest.

Meie näites kirjutaksime JOIN Schools

11227971 6
11227971 6

Samm 6. Sisestage "ON" avaldus, mis näitab, millised tabelid ja veerud ühendatakse

Kolmanda liitumise süntaks on "ON table_3.primary_key = table_1.foreign_key". "Tabel 1". "Tabel_3 on kolmanda tabeli nimi. See lisab tabeli kolm lõplikule liitmisele, kasutades kolmanda tabeli primaarse veeru nime ja esimese tabeli välisvõti. Meie näites sisestaksime selle ON Schools.student_id = Students.student_id. Kogu liitumisavaldus peaks välja nägema umbes selline:

    SELECT student_id, student_name, school_id, school, grade FROM Students FULL JOIN Detailid ON Students.student_id = Details.student_id LIITU KOOLIDEGA koolides.student_id = Students.student_id

Soovitan: