Podstawowe JOIN — część 1
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 43 z 72.
Jak dotąd zajmowaliśmy się problemami dotyczącymi pojedynczej tabeli. Teraz przyjrzymy się, jak obsługiwać wiele tabel.
Załóżmy, że mamy następujące tabele:
kursy
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
lecturers
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
Zadanie polega na wyświetleniu każdego kursu wraz z imieniem i nazwiskiem odpowiedniego wykładowcy.
Można to osiągnąć na dwa sposoby. W każdej opcji dopasowujemy każdy wiersz jednej tabeli do wiersza z drugiej tabeli. Sprawdzamy warunek, który musi zostać spełniony, a jeśli jest spełniony, łączymy oba wiersze w jeden. Oczekiwany wynik dla obu opcji:
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Opcja 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idTutaj zapisujemy dwie tabele po słowie kluczowym FROM, a w klauzuli WHERE wymagamy, aby wartość lecturer_id w obu rekordach była taka sama. W klauzuli SELECT zapisujemy teraz table.column, aby baza danych wiedziała, z której tabeli pobrać kolumnę.
Opcja 2:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idZamiast WHERE używamy JOIN table ON condition
Obie opcje dają ten sam wynik i nazywane są złączeniem wewnętrznym: łączone są tylko pary wierszy spełniające warunek.
Wyzwanie
ŁatwyDostępne tabele i kolumny:
grades:course_id,student_id,gradestudents:id,name
Utwórz zapytanie, które pobiera student_name, course_id, student_id i grade w jednej tabeli. Uporządkuj wyniki według oceny rosnąco.
Spróbuj swoich sił
-- Wypisz kolumny wskazane w zadaniu, używając wskazanego w nim aliasu
SELECT ____
FROM students, grades
-- Zachowaj tylko te pary wierszy, w których obie tabele opisują tę samą osobę
WHERE ____
ORDER BY gradeTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Więcej słów kluczowych
Słowo kluczowe INSłowo kluczowe BETWEENSłowo kluczowe LIKESłowo kluczowe ASPowtórzenie – modele telefonów komórkowych2Instrukcje warunkowe
Podstawy instrukcji warunkowychSłowo kluczowe ANDSłowo kluczowe ORSłowo kluczowe NOTŁączenie wielu warunkówNawiasyWartości logiczne3Określony format zwracanych danych
Wartości nullSortowanie wyników — część 1Sortowanie wyników — część 2Powtórzenie — firma zajmująca się cyberbezpieczeństwemOgraniczanie liczby rekordówPowtórzenie — fabryka pojazdów6Wyzwania na początek
Powtórka – wybory parlamentarnePowtórka – zatrzymanie przestępcy przez policjęPowtórka – pojemnik na napój w barzePowtórka – inżynier: nowe kolumnyPoćwicz samodzielnie: Edytor online SQL