SZUKAJ NA TYM BLOGU

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

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.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 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) ()

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.1. (0–1) ()

Dane są tabele Uczniowie i Oceny. Przeanalizuj i oceń poniższe zapytanie w języku SQL. 

SELECT Uczniowie.imie, Uczniowie.nazwisko, AVG(Oceny.ocena)
FROM Uczniowie INNER JOIN Oceny ON Uczniowie.id_ucznia = Oceny.id_ucznia
GROUP BY Uczniowie.id_ucznia, Uczniowie.imie, Uczniowie. nazwisko
HAVING AVG(Oceny.ocena) >= 4
ORDER BY AVG(Oceny.ocena), Uczniowie.nazwisko;

1.W wyniku zapytania, przy odpowiednich danych, mogą pojawić się następujące po sobie wiersze:
Jan Abacki 4.08
Jan Kowalski 4.85
PF
2.W wyniku zapytania to samo imię i nazwisko może pojawić się tylko raz, nawet jeśli dwóch uczniów ma takie samo imię i nazwisko.PF
3.W wyniku zapytania otrzymamy trzy kolumny z danymi.PF
4.Jedynym kryterium określającym kolejność wierszy w odpowiedzi jest średnia ocena.PF

Zadanie 3.3. (0–1) ()

Wskaż zdania prawdziwe dla języka SQL.
1.W wynikach zapytania postaci SELECT (...) ORDER BY (...) zawsze dostajemy rekordy uporządkowane ściśle rosnąco według wskazanego pola.PF
2.Zapytanie UPDATE może zmienić wartości pól w bazie danych.PF
3.Zapytanie postaci SELECT * FROM tabela1 WHERE pole LIKE (...) może w pewnych warunkach dać wszystkie rekordy z tabeli tabela1.PF
4.Wynik zapytania SELECT * FROM tabela1 JOIN tabela2 ON tabela1.pole = tabela2.pole może być pusty przy niepustych tabelach tabela1 oraz tabela2.PF

Zadanie 36. ()

Dane są tabele Uczniowie i Oceny

Uczniowie:

Id_uImieNazwisko/th>
1MarekWolski
2HannaWieczorek
3IrenaIwanicka
4WojciechMoscicki
5JaninaIdzik
6ArkadiuszCzarnecki

Oceny:

Id_uWynik
12
13
25
24
35
42
45
52
64
63

SELECT Uczniowie.Nazwisko
FROM Uczniowie
JOIN Oceny ON Uczniowie.Id_u = Oceny.Id_u
GROUP BY Uczniowie.Nazwisko
HAVING Avg(Oceny.Wynik)>=4.5;

Zaznacz nazwiska, które pojawią się w wyniku powyższego zapytania.

1.WolskiPF
2.WieczorekPF
3.IwanickaPF
4.MoscickiPF
5.IdzikPF
6.CzarneckiPF