SZUKAJ NA TYM BLOGU

Pokazywanie postów oznaczonych etykietą SQL. Pokaż wszystkie posty

Zadanie 3.2. (0–1) ()

Dana jest tabela wyniki, która przedstawia punkty uzyskane w 12 rundach pewnego meczu drużyny gospodarze z 3 przeciwnikami.

W wyniku zapytania:

SELECT nr_przeciwnika, SUM(gospodarze)

FROM wyniki

GROUP BY nr_przeciwnika;

otrzymamy odpowiedź:

1.1 21
2 22
3 21
PF
2.1 20
2 29
3 24
PF
3.21
22
21
PF
4.20
29
24
PF

Zadanie 3.3. (0–1) ()

Dana jest tabela wyniki, która przedstawia punkty uzyskane w 12 rundach pewnego meczu drużyny gospodarze z 3 przeciwnikami.
W wyniku zapytania: 
SELECT runda 
FROM wyniki 
WHERE (gospodarze > 8 OR goscie > 8) AND (gospodarze – 7 > goscie);
otrzymamy odpowiedź:
1.1 2 3PF
2.1
5
6
7
8
9
PF
3.pusty wynikPF
4.1
5
6
PF

Zadanie 3. (0–1) ()

Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest

fałszywe. Punkt uzyskasz tylko za komplet poprawnych odpowiedzi.

Dane są tabele Osoby i Samochody, zawierające dane dotyczące samochodów i ich

właścicieli.

Tabela Osoby

Tabela Samochody

Przeanalizuj zapytanie:

SELECT Osoby.Id_Osoby, Osoby.Imie, Osoby.Nazwisko, Count(Samochody.Marka) AS

Liczba

FROM Osoby

LEFT JOIN Samochody ON Samochody.Id_Osoby = Osoby.Id_Osoby

GROUP BY Osoby.Id_Osoby;

W wyniku powyższego zapytania

1.dla każdego właściciela otrzymamy informację, ile ma różnych marek pojazdów.PF
2.dla każdego właściciela otrzymamy informację, ile ma pojazdów.PF
3.dla Eweliny Nowickiej w polu Liczba otrzymamy wynik 3.PF
4.dla Beaty Kosińskiej w polu Liczba otrzymamy wynik 0.PF

Zadanie 3.3. (0–1) ()

W bazie danych istnieją dwie tabele: kontrahenci (id_kontrahenta, nazwa) oraz faktury (nr_faktury, id_kontrahenta, kwota, data). Między tabelami zachodzi relacja „jeden do wielu”.
Baza zawiera następujące dane:


 
1.Wynikiem zapytania  SQL
SELECT Sum(Faktury.kwota)
FROM Faktury;

jest suma kwot.
PF
2.Wynikiem zapytania SQL
SELECT Kontrahenci.Nazwa, Count(Faktury.nr_faktury)
FROM Kontrahenci JOIN Faktury ON
Kontrahenci.id_kontrahenta = Faktury.id_kontrahenta
GROUP BY Kontrahenci.Nazwa
HAVING ((Count(Faktury.nr_faktury))>=2);

jest
Jesien 2
Lato 2
PF
3.Wynikiem zapytania SQL
SELECT Faktury.nr_faktury
FROM Faktury
WHERE Faktury.kwota Between 100 And 300;

jest lista dwóch numerów faktur.
PF
4.Wynikiem zapytania SQL
SELECT Kontrahenci.Nazwa, Faktury.kwota
FROM Kontrahenci JOIN Faktury ON
Kontrahenci.id_kontrahenta = Faktury.id_kontrahenta
ORDER BY Faktury.kwota DESC;

jest lista kontrahentów i kwot posortowana rosnąco według kwoty.
PF

Zadanie 3.3. (0-1) ()

Dane są tabele Wlasciciele i Zwierzaki połączone relacją jeden do wielu, kluczem Id_Wlasciciela:

Wynikiem zapytania:

SELECT Wlasciciele.Imie, Wlasciciele.Nazwisko, count(*)

FROM Wlasciciele

INNER JOIN Zwierzaki ON Wlasciciele.Id_Wlasciciela = Zwierzaki.Id_Wlasciciela

GROUP BY Wlasciciele.Imie, Wlasciciele.Nazwisko;

jest

1.Pies 4
Kot 2
Królik 1
PF
2.Anna Kowalska 3
Ewa Nowak 2
Jan Wierzbicki 2
PF
3.Anna Kowalska 10
Ewa Nowak 9
Jan Wierzbicki 9
PF
4.lista imion i nazwisk właścicieli oraz liczb ich zwierząt.PF

Zadanie 3.4. (0-1) ()

Wynikiem zapytania:

SELECT Wlasciciele.Imie, Wlasciciele.Nazwisko, Zwierzaki.Imie

FROM Wlasciciele

INNER JOIN Zwierzaki ON Wlasciciele.Id_Wlasciciela = Zwierzaki.Id_Wlasciciela

WHERE Zwierzaki.Imie > "P"

ORDER BY Wlasciciele.Nazwisko ASC;

jest

1.Ewa Nowak Puszek
Jan Wierzbicki Reksio
PF
2.pusty wynik.PF
3.lista imion i nazwisk właścicieli zwierząt i imiona ich zwierząt zaczynające się literą P.PF
4.Anna Kowalska ReksioPF

Zadanie 3.1. (0–1) ()

W tabeli miasta zamieszczono informacje o liczbie ludności miast Polski. Zawartość tabeli
miasta:

 Dla podanych danych w wyniku zapytania

SELECT ludnosc
FROM miasta
WHERE identyfikator > 770 OR miasto = "Szamotuły"

otrzymamy

1.dwie liczbyPF
2.pusty wynikPF
3.401907PF
4.420760PF

Zadanie 3.1. (0–1) ()

Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest

fałszywe.

W każdym zadaniu punkt uzyskasz tylko za komplet poprawnych odpowiedzi.

W bazie danych są tabele: Autorzy i Utwory, które zawierają następujące dane:


Wynikiem zapytania (gdzie znak % oznacza ciąg dowolnych znaków)

SELECT autor

FROM Autorzy

WHERE autor LIKE "P%r";

Jest:


1.Piotr Piotrowski, Paweł Makrowski, Pamela SikorPF
2.Marta PiwarPF
3.Pamela SikorPF
4.pusty wynikPF
Poprawna odpowiedź
F F P F

Zadanie 3.2. (0–1) ()

Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest

fałszywe.

W każdym zadaniu punkt uzyskasz tylko za komplet poprawnych odpowiedzi.

W bazie danych są tabele: Autorzy i Utwory, które zawierają następujące dane:

 


W wyniku wykonania zapytania na tabelach Autorzy i Utwory otrzymano zestawienie:

Izydor Mikuła 1

Marta Piwar 2

Pamela Sikor 2

Paweł Makrowski 1

Paweł Piotrowski 1

Piotr Piotrowski 1

Które z zapytań wygeneruje taką odpowiedź?


1.SELECT SUM(Autorzy.autor), rok_wydania
FROM Autorzy INNER JOIN Utwory
ON Autorzy.id_autora = Utwory.id_autora
GROUP BY Autorzy.id_autora;
PF
2.SELECT COUNT(Autorzy.autor), Utwory.rok_wydania
FROM Autorzy INNER JOIN Utwory
ON Autorzy.id_autora = Utwory.id_autora
GROUP BY rok_wydania;
PF
3.SELECT Autorzy.autor, COUNT(*)
FROM Autorzy INNER JOIN Utwory
ON Autorzy.id_autora = Utwory.id_autora
GROUP BY Autorzy.autor;
PF
4.SELECT Autorzy.autor, COUNT(Utwory.id_autora)
FROM Autorzy INNER JOIN Utwory
ON Autorzy.id_autora = Utwory.id_autora
GROUP BY Autorzy.id_autora;
PF
Poprawna odpowiedź
FFPP

Zadanie 3.2. (0–1) ()

W bazie danych znajdują się tabele zwierzeta oraz osoby.

Tabela zwierzeta zawiera dane: identyfikator zwierzęcia (id), gatunek (gatunek), sposób odżywiania (sposob_odzywiania – mięsożerne, roślinożerne) oraz identyfikator właściciela zwierzęcia (id_osoby). Tabela osoby, z danymi właścicieli zwierząt, zawiera dane: identyfikator osoby (id_osoby –
klucz podstawowy), imię i nazwisko osoby (imie, nazwisko).

Poniżej pokazano przykładowe dane z obu tabel.
Tabela zwierzeta

idgatunekimieid_osoby
1piesAzor1
2kotMruczek2
3kotKicia3
4piesPimpek2

Tabela osoby

id_osobyimienazwisko
1JanNowak
2AdamKowalski
3AnnaNowakowska

1.w wyniku zapytania:

SELECT DISTINCT nazwisko FROM osoby;

otrzymamy listę różnych nazwisk osób z tabeli osoby (nazwiska nie będą się powtarzać).
PF
2.w wyniku zapytania:

SELECT nazwisko FROM osoby WHERE nazwisko LIKE "A";

Otrzymamy listę nazwisk zaczynających się od litery A.
PF
3.w wyniku zapytania:

SELECT imie FROM osoby WHERE imie BETWEEN "A" AND "C";

otrzymamy listę imion zaczynających się od litery A lub B.
PF
4.w wyniku zapytania:

SELECT imie, nazwisko FROM osoby WHERE imie IN ("Ala","Ula");

otrzymamy listę imion i nazwisk wszystkich osób mających imiona, które w kolejności alfabetycznej znajdują się pomiędzy „Ala” a „Ula”.
PF

Zadanie 3.3. (0–1) ()

W bazie danych znajdują się tabele zwierzeta oraz osoby.

Tabela zwierzeta zawiera dane: identyfikator zwierzęcia (id), gatunek (gatunek), sposób odżywiania (sposob_odzywiania – mięsożerne, roślinożerne) oraz identyfikator właściciela zwierzęcia (id_osoby). Tabela osoby, z danymi właścicieli zwierząt, zawiera dane: identyfikator osoby (id_osoby –
klucz podstawowy), imię i nazwisko osoby (imie, nazwisko).

Poniżej pokazano przykładowe dane z obu tabel.
Tabela zwierzeta

idgatunekimieid_osoby
1piesAzor1
2kotMruczek2
3kotKicia3
4piesPimpek2

Tabela osoby

id_osobyimienazwisko
1JanNowak
2AdamKowalski
3AnnaNowakowska

1.w wyniku zapytania:

SELECT count(DISTINCT gatunek) FROM zwierzeta;

otrzymamy liczbę różnych nazw gatunków zwierząt z tabeli zwierzeta.
PF
2.w wyniku zapytania:

SELECT count(gatunek) FROM zwierzeta
WHERE gatunek = "pies";

otrzymamy liczbę psów w tabeli zwierzeta.
PF
3.w wyniku zapytania:

SELECT count(*) FROM zwierzeta
INNER JOIN osoby ON zwierzeta.id_osoby = osoby.id_osoby
WHERE gatunek = "pies";

otrzymamy liczby psów z podziałem na różnych właścicieli.
PF
4.w wyniku zapytania:

SELECT nazwisko, count(*) FROM zwierzeta
INNER JOIN osoby ON zwierzeta.id_osoby = osoby.id_osoby
GROUP BY osoby.id_osoby;

otrzymamy zestawienie z nazwiskami osób i liczbami ich zwierząt.
PF

Zadanie 3.4. (0–1) ()

W bazie danych znajdują się tabele zwierzeta oraz gromady.

Tabela zwierzeta zawiera dane: identyfikator zwierzęcia (id), gatunek (gatunek), sposób odżywiania (sposob_odzywiania – mięsożerne, roślinożerne) oraz identyfikator gromady, do której należy dany gatunek (id_gromady). Pole id jest kluczem podstawowym w tej tabeli. Tabela gromady zawiera pola: identyfikator gromady (id – klucz podstawowy) oraz nazwę gromady (gromada).

Poniżej pokazano przykładowe dane z obu tabel.
Tabela zwierzeta

idgatuneksposob_odzywianiaid_gromady
1lew afrykanskimiesozerne2
2zyrafaroslinozerne2
3krokodyl nilowymiesozerne3

Tabela gromady

idgromada
1ptaki
2ssaki
3gady
4ryby

Dla tabel opisanych wcześniej i podanych danych przykładowych

1.w wyniku zapytania:

SELECT gromada, count(*) FROM gromady
INNER JOIN zwierzeta ON zwierzeta.id_gromady = gromady.id
GROUP BY gromada;

otrzymamy nazwy gromad oraz liczby gatunków zwierząt należących do
tych gromad.
PF
2.w wyniku zapytania:

SELECT gromada, count(*) FROM gromady
INNER JOIN zwierzeta ON zwierzeta.id_gromady = gromady.id
GROUP BY gromada;

otrzymamy liczbę różnych gromad z tabeli gromady.
PF
3.w wyniku zapytania:

SELECT count(*) FROM zwierzeta
INNER JOIN gromady ON zwierzeta.id_gromady = gromady.id
WHERE gromady.id=2;

otrzymamy liczbę gatunków ssaków z tabeli zwierzeta.
PF
4.w wyniku zapytania:

SELECT count(*) FROM zwierzeta, gromady
WHERE zwierzeta.id_gromady = gromady.id AND
gromady.gromada = "ssaki";

otrzymamy liczbę gatunków ssaków z tabeli zwierzeta.
PF

Zadanie 3.3. (0–1) ()

W bazie danych znajdują się tabele zwierzeta oraz gromady.

Tabela zwierzeta zawiera dane: identyfikator zwierzęcia (id), gatunek (gatunek), sposób odżywiania (sposob_odzywiania – mięsożerne, roślinożerne) oraz identyfikator gromady, do której należy dany gatunek (id_gromady). Pole id jest kluczem podstawowym w tej tabeli. Tabela gromady zawiera pola: identyfikator gromady (id – klucz podstawowy) oraz nazwę gromady (gromada).

Poniżej pokazano przykładowe dane z obu tabel.
Tabela zwierzeta

idgatuneksposob_odzywianiaid_gromady
1lew afrykanskimiesozerne2
2zyrafaroslinozerne2
3krokodyl nilowymiesozerne3

Tabela gromady

idgromada
1ptaki
2ssaki
3gady
4ryby

Dla tabel opisanych wyżej (i podanych danych przykładowych) listę nazw gatunków wszystkich ssaków z tabeli zwierzeta otrzymamy w wyniku zapytania

1.SELECT gatunek FROM zwierzeta WHERE id_gromady = 2;PF
2.SELECT gatunek FROM zwierzeta, gromady WHERE
zwierzeta.id_gromady=gromady.id AND gromada = "ssaki";
PF
3.SELECT gatunek FROM zwierzeta INNER JOIN gromady ON
zwierzeta.id_gromady=gromady.id WHERE gromada = "ssaki";
PF
4.SELECT gatunek FROM zwierzeta LEFT JOIN gromady ON
zwierzeta.id_gromady=gromady.id WHERE gromada = "2";
PF

Zadanie 3.2. (0–1) ()

Poniżej przedstawiono opis dwóch tabel danych zawierających informacje o lekarzach i wizytach u tych lekarzy. 

Pole Id_lekarza w tabeli Lekarze jest połączone relacją „jeden do wielu” z polem Id_lekarza w tabeli Wizyty. 

Lekarze

Nazwa polaTypKlucz
Id_lekarzaTekst(5) Klucz główny
Imie_lekarzaTekst(50)
Nazwisko_lekarzaTekst(50)
Specjalnosc_lekarzaTekst(200)

Wizyty

Nazwa polaTypKlucz
Id_lekarzaTekst(5) Klucz obcy
Id_pacjentaTekst(10)
Data_wizytyData

1.Wynikiem zapytania:
 SELECT Imie_lekarza, Nazwisko_lekarza, count(*)
 FROM Lekarze
 JOIN Wizyty ON Lekarze.Id_lekarza = Wizyty.Id_lekarza
 GROUP BY Wizyty.Id_lekarza;
jest zestawienie zawierające imię i nazwisko każdego lekarza oraz liczbę wizyt u tego lekarza.
PF
2.Wynikiem zapytania:
 SELECT Specjalnosc_lekarza, count(*)
 FROM Lekarze
 JOIN Wizyty ON Lekarze.Id_lekarza = Wizyty.Id_lekarza
 GROUP BY Lekarze.Id_lekarza;
jest zestawienie zawierające nazwy specjalności oraz łączne liczby wizyt u lekarzy tych specjalności.
PF
3.Wynikiem zapytania:
 SELECT Specjalnosc_lekarza, count(Specjalnosc_lekarza)
 FROM Lekarze
 JOIN Wizyty ON Lekarze.Id_lekarza = Wizyty.Id_lekarza
 GROUP BY Wizyty.Id_lekarza;
jest zestawienie zawierające nazwy specjalności oraz łączne liczby wizyt u lekarzy tych specjalności.
PF
4.Wynikiem zapytania:
 SELECT Id_pacjenta, count(*)
 FROM Wizyty
 JOIN Lekarze ON Lekarze.Id_lekarza = Wizyty.Id_lekarza
 GROUP BY Lekarze.Id_lekarza;
jest zestawienie zawierające liczby wizyt pacjentów u poszczególnych lekarzy.
PF

Zadanie 3.3. (0–1) ()

W bazie danych istnieje tabela mandaty(numer, id_osoby, punkty) zawierająca następujące dane:

numerid_osobypunkty
115
2114
3220
4321
521
612

1.Wynikiem zapytania:
 SELECT id_osoby, sum(punkty)
 FROM mandaty
 GROUP BY id_osoby
 HAVING sum(punkty) > 5
jest zestawienie:
 1 14
 2 20
 3 21
PF
2.Wynikiem zapytania:
 SELECT id_osoby, sum(punkty)
 FROM mandaty
 GROUP BY id_osoby
jest zestawienie:
 1 21
 2 21
 3 21
PF
3.Wynikiem zapytania:
 SELECT numer + punkty
 FROM mandaty
jest
 86
PF
4.Wynikiem zapytania:
 SELECT count(punkty)
 FROM mandaty
 WHERE punkty = 21
jest
 1
PF

Zadanie 3.3. (0–1) ()

W pewnej bazie danych istnieją tabele: uczniowie oraz oceny połączone relacją. Tabela uczniowie składa się z kolumn: iducznia(klucz główny), imie, nazwisko, klasa, a tabela oceny składa się z kolumn: idoceny(klucz główny), iducznia(klucz obcy), ocena.
1.Zapytanie:
SELECT uczniowie.klasa, Count(oceny.ocena)
FROM uczniowie
INNER JOIN oceny ON uczniowie.iducznia = oceny.iducznia
WHERE oceny.ocena=6
GROUP BY uczniowie.klasa;
da w wyniku zestawienie podające dla każdej klasy liczbę ocen celujących (6)
PF
2.Zapytanie:
SELECT Count(uczniowie.klasa)
FROM uczniowie
INNER JOIN oceny ON uczniowie.iducznia = oceny.iducznia
WHERE oceny.ocena=6
da w wyniku zestawienie podające dla każdej klasy liczbę ocen celujących (6)
PF
3.Zapytanie:
SELECT Count(uczniowie.klasa), oceny.ocena
FROM uczniowie
INNER JOIN oceny ON uczniowie.iducznia = oceny.iducznia
GROUP BY oceny.ocena;
da w wyniku zestawienie podające dla każdej klasy liczbę wszystkich ocen
PF
4.Zapytanie:
SELECT Count(uczniowie.klasa), oceny.ocena
FROM uczniowie
INNER JOIN oceny ON uczniowie.iducznia = oceny.iducznia
WHERE oceny.ocena=3
GROUP BY oceny.ocena;
da w wyniku zestawienie podające dla każdej klasy liczbę ocen dostatecznych (3)
PF

Zadanie 3.3. (0–1) ()

W bazie danych istnieje tabela produkty(id_produktu, produkt, sztuk, cena), zawierająca następujące dane:
id_produktu produkt sztuk cena
1 zeszyt 160 2
2 okładka 100 3
3 ołówek 250 1
4 długopis 178 5
5 pióro 100 12
6 gumka 250 1
7 piórnik 125 8
8 cyrkiel 130 4

1.Wynikiem zapytania
 SELECT produkt FROM produkty
 WHERE (cena = 2 OR cena = 4)
jest
 cyrkiel
PF
2.Wynikiem zapytania
 SELECT AVG(cena) FROM produkty
 WHERE sztuk IN (125, 160)
jest
 5
PF
3.Wynikiem zapytania
 SELECT SUM(sztuk) FROM produkty
 WHERE (cena = 1 OR cena = 2)
jest
 660
PF
4.Wynikiem zapytania
 SELECT COUNT(cena) FROM produkty
 WHERE cena BETWEEN 2 AND 4
jest
 2
PF

Zadanie 3.4. (0–1) ()

W bazie danych istnieje tabela oceny(id_oceny, id_ucznia, przedmiot, ocena), zawierająca następujące dane:
id_oceny id_ucznia przedmiot ocena
1 1 matematyka 3
2 1 informatyka 4
3 1 fizyka 2
4 2 matematyka 6
5 2 fizyka 3
6 2 informatyka 5
7 3 matematyka 4
8 3 fizyka 2
9 3 informatyka 3

1.Wynikiem zapytania
  SELECT COUNT(id_ucznia) FROM oceny;
jest
 3
PF
2.Wynikiem zapytania
  SELECT COUNT (id_ucznia) FROM oceny
  WHERE przedmiot="fizyka";
jest
 3
PF
3.Wynikiem zapytania
  SELECT COUNT(przedmiot) FROM oceny;
jest
 9
PF
4.Wynikiem zapytania
 SELECT COUNT(przedmiot) FROM oceny
 WHERE ocena > 3;
jest
 4
PF

Zadanie 3.3. (0–1) ()

Dane są dwie tabele powiązane relacją.

Wskaż, które uzupełnienia luk w zapytaniu SQL spowodują, że jego wynikiem będzie lista zawierająca dla każdego reżysera jego nazwisko, imię oraz łączną liczbę filmów przez niego wyreżyserowanych.

1. [1] avg(*)
[2] Rezyserzy.idrezysera=Filmy.idrezysera
[3] Filmy.nazwisko, Rezyserzy.imie
PF
2. [1] *
[2] Rezyserzy.idrezysera= Filmy.idfilmu
[3] Filmy.idrezysera
PF
3. [1] count(nazwisko)
[2] Rezyserzy.idrezysera= Filmy.idrezysera
[3] Rezyserzy.nazwisko
PF
4.[1] count(*)
[2] Rezyserzy.idrezysera=Filmy.idrezysera
[3] Rezyserzy.imie, Rezyserzy.nazwisko, Rezyserzy.idrezysera
PF

Zadanie 3.4. (0–1) ()

Dana jest tabela pracownicy
nr_p nazwisko imie staz pensja
736 Smitko Alan 10 2000
7499 Nowak Kazimierz 15 3000
7521 Więcek Mariusz 11 3500
7566 Jonas Kamil 12 2500
7654 Martin Leon 20 2300
7698 Bracki Bartosz 15 1530
7782 Celerek Agnieszka 12 1680
7788 Skotnik Natalia 21 2000
7839 King Mirosław 22 1500

oraz zapytanie SQL: 

SELECT *
 FROM pracownicy
 WHERE pensja < 2000
 ORDER BY staz DESC;

1.Wynik powyższego zapytania to 3.PF
2.Wynikiem powyższego zapytania jest zestawienie:
nr_p nazwisko imie staz pensja
7839 King Mirosław 22 1500
7698 Bracki Bartosz 15 1530
7782 Celerek Agnieszka 12 1680
PF
3.Wynikiem zapytania będą wiersze z tabeli pracownicy, zawierające wszystkie dane z tej tabeli dotyczące pracowników, dla których wartość z kolumny pensja jest mniejsza niż 2000, posortowane nierosnąco według parametru staz.PF
4.Wynikiem powyższego zapytania jest zestawienie:
nr_p staz pensja
7782 12 1680
7698 15 1530
7839 22 1500
PF