Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pytanie SQL
dawbog
post
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);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
luckboy
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 19:38