SQL inner JOIN (Română)

începând de aici? Această lecție face parte dintr-un tutorial complet în utilizarea SQL pentru analiza datelor. Uită-te la început.în această lecție vom acoperi:

  • inner JOIN
  • alăturarea tabelelor cu nume de coloane identice
  • problemă practică

inner JOIN

în lecția anterioară, ați învățat elementele de bază ale SQL se alătură folosind date despre jucătorii de fotbal din colegiu. Toți jucătorii din tabelulplayers se potrivesc cu o școală din tabelulteams. Dar dacă datele nu sunt atât de curate?, Ce se întâmplă dacă există mai multe școli în tabelul teams cu același nume? Sau dacă un jucător merge la o școală care nu se află în tabelul teams?

Dacă există mai multe școli în teams tabelul cu același nume, fiecare dintre aceste rânduri va fi unit și să rânduri de potrivire în players masă., Revenind la exemplul anterior cu Michael Campanaro, dacă erau trei rânduri în teams masa unde school_name = 'Wake Forest', alăturați-vă interogarea de mai sus va întoarce trei rânduri cu Michael Campanaro.

este adesea cazul în care unul sau ambele tabele care sunt unite conțin rânduri care nu au potriviri în celălalt tabel. Modul în care acest lucru este manipulat depinde de faptul dacă faci un join interior sau un join exterior.

Vom începe cu interior se alătură, care poate fi scris ca JOIN benn.college_football_teams teams sau INNER JOIN benn.college_football_teams teams., Interior se alătură elimina rândurile din ambele tabele care nu îndeplinesc condiția alătura stabilite în ON declarație. În termeni matematici, o îmbinare interioară este intersecția celor două tabele.

prin Urmare, dacă un jucător se duce la o școală care nu e în teams masă, că jucătorul nu va fi inclusă în rezultat dintr-un inner join., În mod similar, dacă există școli în teams tabel care nu se potrivesc la orice școlile din players tabel, aceste rânduri nu vor fi incluse în rezultatele, fie.

alăturarea tabelelor cu nume de coloane identice

când alăturați două tabele, este posibil ca ambele tabele să aibă coloane cu nume identice., În exemplul de mai jos, ambele tabele au coloane numite school_name:

rezultatele pot susține doar o singură coloană cu un anumit nume—atunci când includ 2 coloane cu același nume, rezultatele vor arăta pur și simplu exact același rezultat set pentru ambele coloane, chiar dacă cele două coloane trebuie să conțină date diferite. Puteți evita acest lucru numind coloanele individual., Se întâmplă că aceste două coloane vor conține de fapt aceleași date, deoarece acestea sunt utilizate pentru cheia join, dar următoarea interogare permite tehnic aceste coloane să fie independente:

ascuți abilitățile SQL

problemă practică

scrieți o interogare care afișează numele jucătorilor, numele școlilor și conferințele pentru școli în Divizia „FBS (Divizia I-a Echipe)”.

încercați să vedeți răspunsul

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *