![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam, mógłby ktoś pomóc, i napisać dlaczego wybrał tą odpowiedź. Ponieważ zadanie niby proste a zdania są podzielone.
dzięki z góry. Dane osobowe studenta znajdują się w tablicy student, przy czym w polu id_wojew znajduje się klucz obcy odwołujący się do klucza głównego o tej samej nazwie w tablicy wojew. Tablica wojew jest typowym słownikiem przy czym w polu nazwa_wojew znajduje się nazwa województwa. Które z poniższych zapytań SQL zwróci dane studenta z nazwą (nie numerem) województwa? SELECT imie, nazwisko, wojew.nazwa_wojew FROM student, wojew WHERE student.id_wojew=id_wojew.wojew; SELECT imie, nazwisko FROM student (SELECT wojew FROM wojew); SELECT imie, nazwisko, wojew.nazwa_wojew FROM student RIGHT JOIN wojew USING(id_wojew); SELECT imie, nazwisko, wojew.nazwa_wojew FROM student LEFT JOIN wojew USING (id_wojew); |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 1 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
A województwo bez Jana Kowalskiego może być?
W treści pytania jest że trzeba podać dane studenta z nazwa województwa. Co się stanie gdy będzie istniało województwo w którym nie mieszka żaden student? W przypadku "SELECT imie, nazwisko, wojew.nazwa_wojew FROM student RIGHT JOIN wojew USING(id_wojew);" zostanie wyswietlone nazwa województwa bez danych studenta. Jeśli chodzi o "SELECT imie, nazwisko, wojew.nazwa_wojew FROM student LEFT JOIN wojew USING (id_wojew);" jak sami powiedzieliście nie może być studenta który nie mieszka w żadnym województwie. A wiec jeśli dane w tabelach są poprawne to zapytanie z LEFT JOIN powinno dać poprawny wynik. W innym przypadku dane w tabelach są nie poprawne. Zaś nam chodzi o to by zapytanie dawało poprawny wynik gdy są poprawne dane. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 19:38 |