przyklady_sql.pdf
(
89 KB
)
Pobierz
Przyk³ady rozwi¹zañ zadañ w jêzyku SQL:
Przykłady rozwiązań zadań w języku SQL:
1.
Podać datę pierwszego i ostatniego egzaminu przeprowadzonego w każdym z ośrodków.
SELECT o.id_osrodek, nazwa_o, MAX(data_egz), MIN(data_egz)
FROM osrodki o, egzaminy e
WHERE o.id_osrodek = e.id_osrodek(+)
GROUP BY o.id_osrodek, nazwa_o ;
2.
Który egzaminator przeprowadził najwięcej egzaminów w poszczególnych ośrodkach?
SELECT o.id_osrodek, nazwa_o, g.id_egzaminator, nazwisko, imie, COUNT(*)
FROM osrodki o, egzaminy e, egzaminatorzy g
WHERE o.id_osrodek = e.id_osrodek and g.id_egzaminator = e.id_egzaminator
GROUP BY o.id_osrodek, nazwa_o, g.id_egzaminator, nazwisko, imie
HAVING COUNT(*) = (SELECT MAX(count(*)) FROM egzaminy
WHERE id_osrodek = o.id_osrodek
GROUP BY id_osrodek, id_egzaminator) ;
3.
Który student zdawał pierwszy egzamin w każdym z ośrodków?
SELECT o.id_osrodek, nazwa_o, s.id_student, nazwisko, imie, data_egz
FROM osrodki o, egzaminy e, studenci s
WHERE o.id_osrodek = e.id_osrodek and s.id_student = e.id_student
GROUP BY o.id_osrodek, nazwa_o, s.id_student, nazwisko, imie, data_egz
HAVING data_egz = (SELECT MIN(data_egz) FROM egzaminy
WHERE id_osrodek = o.id_osrodek
GROUP BY id_osrodek) ;
4.
Ile osób zdawało egzaminy w poszczególnych ośrodkach?
SELECT o.id_osrodek, nazwa_o NAZWA, COUNT(DISTINCT e.id_student) LICZBA_OSÓB
FROM osrodki o, egzaminy e
WHERE o.id_osrodek = e.id_osrodek(+)
GROUP BY o.id_osrodek, nazwa_o ;
1
5.
Który egzaminator egzaminował najwięcej osób?
SELECT e.id_egzaminator, nazwisko, imie
FROM egzaminatorzy g, egzaminy e
WHERE g.id_egzaminator = e.id_egzaminator
GROUP BY e.id_egzaminator, nazwisko, imie
HAVING COUNT(DISTINCT id_student) = (SELECT MAX(COUNT(DISTINCT id_student))
FROM egzaminy GROUP BY id_egzaminator)
6.
W którym miesiącu i którego roku przeprowadzono najwięcej egzaminów w ośrodku o nazwie Atena?
Podać nazwę miesiąca i rok czterocyfrowy.
SELECT TO_CHAR(Data_egz,'MONTH,YYYY') Data_egz, o.id_osrodek, Nazwa_o, COUNT(*)
FROM osrodki o, egzaminy e
WHERE o.id_osrodek = e.id_osrodek AND nazwa_o = 'Atena'
GROUP BY TO_CHAR(Data_egz,'MONTH,YYYY'), o.id_osrodek, Nazwa_o
HAVING COUNT(*) = (SELECT MAX(COUNT(*)) FROM osrodki o1, egzaminy e1
WHERE o1.id_osrodek = e1.id_osrodek AND nazwa_o = 'Atena'
GROUP BY o1.id_osrodek, to_char(data_egz,'MONTH,YYYY'))
7.
Zdefiniować perspektywę, która umożliwi wyświetlenie informacji na temat:
Z których przedmiotów przeprowadzono najwięcej egzaminów w poszczególnych ośrodkach? Podać
identyfikator i nazwę ośrodka oraz identyfikator i nazwę przedmiotu.
CREATE VIEW v_test_1 AS
SELECT o.id_osrodek, nazwa_o , p.id_przedmiot, nazwa_p, COUNT(*) Liczba
FROM przedmioty p, egzaminy e, osrodki o
WHERE p.id_przedmiot = e.id_przedmiot AND o.id_osrodek = e.id_osrodek
GROUP BY o.id_osrodek, nazwa_o, p.id_przedmiot, nazwa_p
HAVING COUNT(*) = (SELECT MAX(count(*)) FROM egzaminy
WHERE id_osrodek = o.id_osrodek
GROUP BY id_osrodek, id_przedmiot) ;
2
Plik z chomika:
ynni2
Inne pliki z tego folderu:
VBA Excel.pdf
(4792 KB)
Visual Basic Leksykon.ZIP
(352 KB)
APress - Expert One-On-One Visual Basic Business Objects (2003).chm
(16555 KB)
APress - Expert VB 2005 Business Objects (2006).pdf
(10443 KB)
Paul McFedries - Absolute Beginner's Guide to VBA.chm
(1582 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
[flv] FL Studio
Aerobic filmy
Akademia Rozwoju
Zgłoś jeśli
naruszono regulamin