Facebook
From Chartreuse Horse, 6 Days ago, written in SQL.
Embed
Download Paste or View Raw
Hits: 33
  1. 1.
  2. SELECT CONCAT(s.`id-student`," ", s.imie," ", s.nazwisko) AS "Dane studenta" ,p.`nazwa-p`, e.`data` FROM studenci s
  3. LEFT JOIN egzaminy e ON e.`id-student`=s.`id-student`
  4. RIGHT JOIN przedmioty p ON e.`id-przedmiot`=p.`id-przedmiot`
  5. ORDER BY s.nazwisko, s.imie
  6.  
  7. 2.
  8. SELECT w.nazwisko, w.imie, s.nazwisko, s.imie, e.data FROM egzaminy e
  9. JOIN wykladowcy w ON `w`.`id-wykladowcy`=`e`.`id-wykladowca`
  10. JOIN studenci s ON s.`id-student`=e.`id-student`
  11. JOIN osrodki o ON o.`id-osrodek`=e.`id-osrodek`
  12. WHERE e.zdal="N"AND o.`nazwa-o` LIKE "Instytut Informatyki PL"
  13. AND e.data=
  14. (SELECT e.data FROM egzaminy e JOIN osrodki o ON e.`id-osrodek`=o.`id-osrodek` WHERE o.`nazwa-o` LIKE "Instytut Informatyki PL"
  15.  ORDER BY e.data ASC LIMIT 1)
  16. ORDER BY w.nazwisko, w.imie
  17.  
  18. 3.
  19. SELECT DISTINCT s.`id-student`, s.imie, s.nazwisko FROM studenci s
  20. LEFT JOIN (SELECT `id-student` FROM egzaminy JOIN przedmioty ON egzaminy.`id-przedmiot`=`przedmioty`.`id-przedmiot` WHERE przedmioty.`nazwa-p`LIKE "Bazy danych") e ON e.`id-student`=s.`id-student`
  21. WHERE e.`id-student` IS NULL
  22.  
  23. 4.
  24. SELECT s.`id-student`, s.imie,s.nazwisko, p.`nazwa-p` FROM egzaminy e
  25. JOIN studenci s ON s.`id-student`=e.`id-student`
  26. JOIN przedmioty p ON `p`.`id-przedmiot`=`e`.`id-przedmiot`
  27. WHERE e.zdal="N"
  28. ORDER BY s.nazwisko
  29.  
  30. 5.
  31. SELECT w.nazwisko, w.imie, COUNT(DISTINCT e.`id-przedmiot`) AS "Liczba r├│┬┐nych przedmiot├│w" FROM egzaminy e
  32. JOIN wykladowcy w ON `w`.`id-wykladowcy`=`e`.`id-wykladowca`
  33. GROUP BY e.`id-wykladowca`
  34. HAVING COUNT(DISTINCT e.`id-przedmiot`)>3
  35.  
  36. 6.
  37. SELECT p.`id-przedmiot`, p.`nazwa-p`, COUNT(e.`id-student`) AS "Liczba student├│w, kt├│rzy zdali" FROM egzaminy e
  38. JOIN przedmioty p ON `p`.`id-przedmiot`=`e`.`id-przedmiot`
  39. WHERE e.zdal="Y"
  40. GROUP BY e.`id-przedmiot`
  41. HAVING COUNT(e.`id-student`)=(
  42.     SELECT COUNT(e.`id-student`) FROM egzaminy e GROUP BY e.`id-student` ORDER BY 1 DESC LIMIT 1)
  43. ORDER BY p.`nazwa-p`