Witam. Naukę SQL zacząłem dosłownie dwa dni temu i mam problem z pewnym zadaniem. W tabeli Meldunek znajdują się numery PESEL osób zameldowanych w akademiku. W tabeli Studenci znajdują się wszyscy studenci(łącznie z tymi,którzy nie mieszkają w akademiku) a każdy ma swój numer PESEL, imię oraz nazwisko. Cały problem polega na wypisaniu imion i nazwisk studentów, którzy nie mieszkają w akademiku. Czy ktoś mógłby napisać instrukcję do wyciągnięcia tych danych? Pozdrawiam. :))
0
1
Spróbuj tego
http://stackoverflow.com/a/4197561/6872542
SELECT *
FROM tbl1
WHERE NOT EXISTS
(
SELECT *
FROM tbl2
WHERE tbl2.col1 = tbl1.col1
AND tbl2.col2 = tbl1.col2
)
albo tak
SELECT * FROM studenci WHERE id NOT IN (SELECT student_id FROM meldunek)
2
LEFT JOIN z Nullem. Najprostsze. Najlepsze.
0
Dzięki bardzo za odpowiedzi! :) Drugi pomysł stivens'a taki prosty i zrozumiały. Super. :) Korzystując z okazji, jakby wyglądało złączenie z LEFT JOIN'em? Kombinowałem sam,ale nie mogę wymyśleć,gdzie dać warunek IS NULL.
2
SELECT s.* FROM Studenci As s LEFT OUTER JOIN Meldunek As m On m.PESEL = s.PESEL WHERE m.PESEL IS NULL
0
Jeszcze raz dzięki za odpowiedzi,oba polecenia działają tak jak powinny. :)