BazyŚnych 2

Bazy Danych 2 – Laboratorium
Laboratorium nr.1

-- 2.1a)

SELECT przedmiot.id_przed, przedmiot.nazwa FROM przedmiot WHERE przedmiot.nazwa IS NOT NULL;

Wynik

ID_PRZED NAZWA

-------- -------------------------

1 FIZYKA

2 FIZYKA-L

3 FIZYKA-C

4 POLSKI

5 POLSKI

6 FIZYKA

7 BIOLOGIA

8 BIOL-L

9 CHEMIA

10 INFORMATYKA

-- 2.1d)

SELECT wykladowca.nr_wykl,wykladowca.nazwisko,przedmiot.id_przed,przedmiot.nazwa FROM wykladowca,przedmiot,pro_zaj

WHERE pro_zaj.id_przed=przedmiot.id_przed AND wykladowca.nr_wykl=pro_zaj.nr_wykl;

Wynik

NR_WYKL NAZWISKO ID_PRZED NAZWA

------- --------------- -------- -------------------------

1 Awyk 1 FIZYKA

1 Awyk 2 FIZYKA-L

1 Awyk 3 FIZYKA-C

2 Bwyk 4 POLSKI

2 Bwyk 5 POLSKI

2 Bwyk 6 FIZYKA

3 Cwyk 2 FIZYKA-L

3 Cwyk 5 POLSKI

3 Cwyk 8 BIOL-L

4 Dwyk 7 BIOLOGIA

4 Dwyk 8 BIOL-L

4 Dwyk 9 CHEMIA

5 Ewyk 1 FIZYKA

5 Ewyk 4 POLSKI

5 Ewyk 7 BIOLOGIA

-- 2.1g)

SELECT id_przed,nazwa,nr_wykl,nazwisko FROM przedmiot

LEFT OUTER JOIN pro_zaj USING(id_przed)

LEFT OUTER JOIN wykladowca USING(nr_wykl);

ID_PRZED NAZWA NR_WYKL NAZWISKO

-------- ------------------------- ------- ---------------

3 FIZYKA-C 1 Awyk

2 FIZYKA-L 1 Awyk

1 FIZYKA 1 Awyk

6 FIZYKA 2 Bwyk

5 POLSKI 2 Bwyk

4 POLSKI 2 Bwyk

8 BIOL-L 3 Cwyk

5 POLSKI 3 Cwyk

2 FIZYKA-L 3 Cwyk

9 CHEMIA 4 Dwyk

8 BIOL-L 4 Dwyk

7 BIOLOGIA 4 Dwyk

7 BIOLOGIA 5 Ewyk

4 POLSKI 5 Ewyk

1 FIZYKA 5 Ewyk

10 INFORMATYKA

-- 2.1j)

SELECT id_przed, nazwa FROM przedmiot

LEFT OUTER JOIN gr_zaj USING(id_przed)

LEFT OUTER JOIN student USING(nr_gr)

GROUP BY nazwa,id_przed HAVING COUNT(nr_albumu)=0;

Wynik

ID_PRZED NAZWA

-------- -------------------------

10 INFORMATYKA

-- 2.1m)

SELECT id_przed, przedmiot.Nazwa FROM przedmiot

JOIN gr_zaj USING(id_przed)

JOIN grupa USING(nr_gr)

GROUP BY id_przed, przedmiot.nazwa HAVING COUNT(nr_gr)=2;

Wynik

ID_PRZED NAZWA

-------- -------------------------

2 FIZYKA-L

5 POLSKI

8 BIOL-L

1 FIZYKA

-- 2.1p)

SELECT DISTINCT student.nr_albumu,student.nazwisko,student.imie FROM gr_zaj,student

WHERE gr_zaj.nr_gr=student.nr_gr AND gr_zaj.sala='405';

Wyniki

NR_ALBUMU NAZWISKO IMIE

--------- --------------- ---------------

7 Gsinski Gstor

5 Esinski Estor

10 Jsinski Jstor

14 Akto Astor

15 Bkto Bstor

1 Asinski Astor

13 Cnski Cstor

3 Csinski Cstor

8 Hsinski Hstor

12 Bnski Bstor

2 Bsinski Bstor

4 Dsinski Dstor

11 Anski Astor

6 Fsinski Fstor

9 Isinski Istor

-- 2.2c)

SELECT student.nr_albumu, nazwisko, COUNT(*) ilosc_przedmiotow

FROM student, gr_zaj, przedmiot

WHERE student.nr_gr=gr_zaj.nr_gr AND gr_zaj.id_przed=przedmiot.id_przed

GROUP BY student.nr_albumu, nazwisko;

SELECT nr_albumu,nazwisko,COUNT(przedmiot.nazwa) AS ilosc_przedmiotow

FROM student JOIN gr_zaj ON student.nr_gr=gr_zaj.nr_gr JOIN przedmiot ON gr_zaj.id_przed=przedmiot.id_przed GROUP BY nr_albumu, nazwisko;

Wyniki

NR_ALBUMU NAZWISKO ILOSC_PRZEDMIOTOW

--------- --------------- -----------------

2 Bsinski 5

10 Jsinski 5

14 Akto 3

1 Asinski 5

11 Anski 5

7 Gsinski 5

12 Bnski 5

13 Cnski 5

8 Hsinski 5

9 Isinski 5

3 Csinski 5

15 Bkto 3

4 Dsinski 5

5 Esinski 5

6 Fsinski 5

15 rows selected

NR_ALBUMU NAZWISKO ILOSC_PRZEDMIOTOW

--------- --------------- -----------------

2 Bsinski 5

10 Jsinski 5

14 Akto 3

1 Asinski 5

11 Anski 5

7 Gsinski 5

12 Bnski 5

13 Cnski 5

8 Hsinski 5

9 Isinski 5

3 Csinski 5

15 Bkto 3

4 Dsinski 5

5 Esinski 5

6 Fsinski 5

15 rows selected

-- 2.2f)

SELECT grupa.nr_gr, grupa.nazwa, grupa.liczba_st, COUNT(student.nr_gr) AS ILOSC

FROM grupa, student

WHERE grupa.nr_gr=student.nr_gr GROUP BY grupa.nr_gr, grupa.nazwa, grupa.liczba_st HAVING grupa.liczba_st=COUNT(*);

Wyniki

NR_GR NAZWA LICZBA_ST ILOSC

----- --------------- --------- -----

1 Grupa 1 10 10

2 Grupa 2 3 3

-- 2.2l)

SELECT wykladowca.nr_wykl, wykladowca.nazwisko, przedmiot.id_przed, przedmiot.nazwa, COUNT(zaliczenie.ocena) AS "ilosc"

FROM wykladowca, przedmiot, zaliczenie, gr_zaj

WHERE zaliczenie.id_przed=przedmiot.id_przed AND wykladowca.nr_wykl=gr_zaj.nr_wykl AND gr_zaj.id_przed=przedmiot.id_przed

GROUP BY wykladowca.nr_wykl, wykladowca.nazwisko, przedmiot.id_przed, przedmiot.nazwa ORDER BY wykladowca.nazwisko;

Wyniki

NR_WYKL NAZWISKO ID_PRZED NAZWA ilosc

------- --------------- -------- ------------------------- -----

1 Awyk 3 FIZYKA-C 4

1 Awyk 2 FIZYKA-L 12

1 Awyk 1 FIZYKA 9

2 Bwyk 4 POLSKI 9

2 Bwyk 5 POLSKI 5

2 Bwyk 6 FIZYKA 5

3 Cwyk 8 BIOL-L 5

3 Cwyk 2 FIZYKA-L 12

3 Cwyk 5 POLSKI 5

4 Dwyk 9 CHEMIA 6

4 Dwyk 7 BIOLOGIA 8

4 Dwyk 8 BIOL-L 5

5 Ewyk 1 FIZYKA 9

13 rows selected

-- 2.2o)

SELECT przedmiot.id_przed, przedmiot.nazwa, zaliczenie.termin, COUNT(zaliczenie.ocena) AS "ilosc"

FROM przedmiot, zaliczenie

WHERE przedmiot.id_przed=zaliczenie.id_przed AND zaliczenie.ocena > 2 GROUP BY przedmiot.id_przed, przedmiot.nazwa, zaliczenie.termin;

Wyniki

ID_PRZED NAZWA TERMIN ilosc

-------- ------------------------- --------------- -----

4 POLSKI 1 3

2 FIZYKA-L 3 3

3 FIZYKA-C 1 3

8 BIOL-L 3 2

9 CHEMIA 3 1

2 FIZYKA-L 1 3

1 FIZYKA 3 2

5 POLSKI 3 2

4 POLSKI 2 1

1 FIZYKA 1 3

6 FIZYKA 1 3

8 BIOL-L 1 3

7 BIOLOGIA 3 1

7 BIOLOGIA 1 3

9 CHEMIA 1 3

5 POLSKI 1 3

10 INFORMATYKA 1 3

17 rows selected


Wyszukiwarka