Font size
WorksheetsSQL_kartkowka
Total questions: 27
Worksheet time: 25mins
Aby policzyć wszystkie rekordy tabeli o nazwie TOWARY (pola: nazwa i cena) należy użyć polecenia:
SELECT COUNT(*) AS Ile FROM TOWARY
SELECT DISTINCT nazwa AS ile FROM TOWARY
SELECT COUNT(TOWARY) AS ile
SELECT SUM(*) AS ile FROM TOWARY
W celu wyświetlenia listy nazwisk osób zapisanych w tabeli OSOBY uporządkowanej według roku urodzenia malejąco, należy użyć zapytania:
SELECT nazwisko FROM OSOBY
ORDER BY rok_urodzenia ASC;
SELECT nazwisko FROM OSOBY
ORDER BY rok_urodzenia DESC;
SELECT nazwisko FROM OSOBY
ORDER BY rok_urodzenia;
SELECT nazwisko FROM OSOBY
GROUP BY rok_urodzenia ASC;
Dana jest tabela TRANSAKCJE (pola: nr, data, kontrahent, kwota). Aby policzyć łączną sumę kwot wszystkich transakcji zapisanych w tabeli, należy użyć polecenia:
SELECT SUM(*) FROM kwota;
SELECT SUM(kwota) FROM TRANSAKCJE;
SELECT VALUES(kwota) FROM TRANSAKCJE;
SELECT COUNT(kwota) FROM TRANSAKCJE;
Klauzula FROM służy do
Określania warunku kryterium/filtrów w kwerendzie
Określania z jakiej tabeli mają pochodzić wyniki kwerendy
Określania z jakiej bazy mają pochodzić wyniki kwerendy
Określenia jakich kolumn oczekujemy w wyniku kwerendy
Zapytanie wybierające imie, nazwisko i ocenę z tabeli UCZNIOWIE dla uczniów klasy IVa:
SELECT imie, nazwisko, ocena FROM UCZNIOWIE
WHERE klasa='IVA';
SELECT * FROM UCZNIOWIE
WHERE klasa='IVA';
SELECT imie, nazwisko, ocena
FROM UCZNIOWIE AND klasa='IVA';
SELECT imie, nazwisko, ocena FROM UCZNIOWIE
LIKE klasa='IVA';
Kwerenda oparta na tabeli OSOBY(pola: imie, nazwisko, miasto), która dla każdego miasta poda ilosc zapisanych osob ma postać:
SELECT miasto, COUNT(nazwisko) AS Ile_osob
FROM OSOBY GROUP BY miasto;
SELECT miasto, COUNT(nazwisko) AS ile_osob
FROM OSOBY ORDER BY miasto;
SELECT DISTINCT miasto, COUNT(nazwisko) AS ile_osob
FROM OSOBY;
Kwerenda oparta na tabeli OSOBY (pola: imie, nazwisko, miasto), która dla miasta o nazwie Bydgoszcz poda ilość zapisanych osób ma postać:
SELECT miasto, COUNT(nazwisko) AS Ile_osob
FROM BYDGOSZCZ
GROUP BY miasto;
SELECT miasto, COUNT(nazwisko) AS ile_osob
FROM OSOBY GROUP BY miasto
WHERE miasto='Bydgoszcz';
SELECT miasto, COUNT(nazwisko) AS Ile_osob
FROM OSOBY
WHERE miasto='Bydgoszcz';
Funkcja agregująca AVG:
wskazuje warunek
oblicza średnią
oblicza sumę
oblicza ilość
Wynik zapytania:
SELECT * FROM Uczniowie WHERE srednia>5 ORDER BY klasa DESC;
będzie uporządkowany według klasy:
rosnąco
malejąco
W tabeli osoby (pola: nazwisko ilosc cena) zapisano dane:
Kowalski 12 50
Nowak 5 100
Kania 7 300
Racki 1 250
Kwikowiak 9 100
Wykonanie zapytania:
SELECT nazwisko, ilosc*cena FROM osoby
WHERE (ilosc<10 OR cena>100) AND nazwisko LIKE "K*";
da w wyniku:
tabelę złożoną z dwóch kolumn i dwóch wierszy
tabelę złożoną z trzech kolumn i dwóch wierszy
tabelę złożoną z dwóch kolumn i czterech wierszy
tabelę złożoną z dwóch kolumn i trzech wierszy
Zapytanie:
SELECT COUNT(*) FROM tabela;
zwróci ilość wierszy w tabeli
zwróci sumę wartości z tabeli
zwróci ilość znaków gwiazdki w tabeli
Które zapytanie SQL zwróci wyniki uporządkowane alfabetycznie rosnąco według pola nazwisko?
SELECT imie,nazwisko FROM OSOBY
ORDER BY imie, nazwisko ASC;
SELECT imie,nazwisko FROM OSOBY
ORDER BY nazwisko ASC;
SELECT imie,nazwisko FROM OSOBY
ORDER BY;
SELECT imie,nazwisko FROM OSOBY
ORDER BY nazwisko DESC;
SELECT nr_rejestracyjny, COUNT(*) AS liczba
FROM wypadki
WHERE nr_rejestracyjny NOT IN
(SELECT nr_rejestracyjny FROM kradzione)
GROUP BY nr_rejestracyjny
HAVING COUNT(*) > 1
ten sam numer rejestracyjny może pojawić się wiele razy
mogą pojawić się nr_rejestracyjne zapisane w tabeli o nazwie "kradzione"
Pojawi się każdy nr_rejestracyjny z tabeli wypadki
otrzymujemy tabelę o dwóch kolumnach
Dane są dwie tabele z następującą zawartością:
miasta (pola: id_miasta, nazwa)
1 Bydgoszcz
2 Toruń
3 Warszawa
projekty (pola: id_projektu, id_miasta, jezyk_projektu)
11 1 polski
12 1 angielski
13 1 niemiecki
14 3 rosyjski
15 3 angielski
połączone relacją poprzez pole id_miasta.
Czy zapytanie:
SELECT miasta.nazwa, COUNT(projekty.id_projektu) AS ilosc_projektow
FROM miasta INNER JOIN projekty ON miasta.id_miasta=projekty.id_miasta
GROUP BY miasta.id_miasta;
zwróci w wyniku:
trzy wiersze
dwa wiersze
Tabele:
uczniowie pola: nr, imie,wiek)
1 Janek 18
2 Tomek 18
3 Marek 18
4 Basia 18
jezyki (pola: jezyk, kraj, nr_ucznia, punkty)
mandaryński Chiny 2 123
malgaski Madagaskar NULL 234
połączone relacją poprzez pole nr_ucznia.
Czy zapytanie:
SELECT jezyki.jezyk
FROM jezyki INNER JOIN uczniowie ON uczniowie.nr_ucznia=jezyki.nr_ucznia;
zwróci język malgaski?
TAK
NIE
nie da się przewidzieć (za mało danych)
Zapytanie:
SELECT COUNT(wartosc) FROM tabela;
zwróci ilość wierszy w tabeli przy założeniu że nie ma w tej kolumnie pustych komórek
zwróci sumę wartości z tabeli
żadna odpowiedź nie jest prawdziwa
zwróci ilość wierszy
W tabeli podzespoly należy zmienić wartość pola URL na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent to TOSHIBA. W języku SQL modyfikacja będzie miała postać
UPDATE podzespoly SET URL='toshiba.pl';
UPDATE producent='TOSHIBA' SET URL='toshiba.pl';
UPDATE podzespoly.producent='TOSHIBA' SET URL='toshiba.pl';
UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
Dana jest tabela muzyka (pola: id,wykonawca,tytul):
1 "Czesław Śpiewa" "W sam raz"
2 "Czesław Niemen" "Dziwny jest ten świat"
3 "Czesław Śpiewa" "Język węża"
zostało wykonane następujące zapytanie SQL.
SELECT tytul FROM muzyka WHERE wykonawca LIKE 'C*w';
Jaki wynik zwróci ta kwerenda?
dwa wiersza
trzy wiersze
jeden wiersz
pusty wynik
W tabeli samochody, aby nadać wartość równą 0 dla kolumny przebieg, należy posłużyć się kwerendą:
UPDATE samochody SET przebieg = 0;
UPDATE samochody SET 0 in przebieg;
UPDATE samochody SET 0 to przebieg;
UPDATE samochody SET przebieg VALUE 0;
Polecenie w języku SQL ALTER TABLE USA... ma za zadanie
usunięcie tabeli USA
modyfikację tabeli USA
nadpisanie starej tabeli USA
utworzenie nowej tabeli USA
Wskaż polecenie SQL dodające pole o nazwie miesiacSiewu (int) do istniejącej tabeli rosliny
UPDATE rosliny ADD miesiacSiewu int;
CREATE TABLE rosliny {miesiacSiewu int}
ALTER TABLE rosliny ADD miesiacSiewu int;
INSERT INTO rosliny COLUMN (miesiacSiewu int);
Baza danych zawiera tabele artykuły z polami: nazwa, typ, producent, cena.
Aby wyświetlić nazwy artykułów wyłącznie typu pralka, dla których cena jest z przedziału 1000 PLN i 1500 PLN, należy zastosować polecenie
SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500;
SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena IN (1000,1500);
SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500;
SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500;
Baza danych zawiera tabelę uczniowie z polami: imie, nazwisko, klasa.
Aby odnaleźć imiona i nazwiska tych uczniów, których nazwiska rozpoczynają się literą M, należy zastosować polecenie SQL
SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M*";
SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M*";
SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M*";
SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M*";
Instrukcje języka DDL (Data Definition Language) to
CREATE, ALTER, DELETE
SELECT, CREATE, DROP
CREATE, ALTER, DROP
Liczba całkowita to w SQL:
float
int
char
Co trzeba wpisać w miejsce kropek (wpisz odpowiedź drukowanymi literami)?
SELECT osoby.nazwisko, SUM(zakupy.kwota) AS suma
FROM osoby (a) zakupy ON osoby.PESEL = zakupy.PESEL
GROUP BY osoby.nazwisko;
Co trzeba wpisać w miejsce kropek (wpisz odpowiedź drukowanymi literami)?
SELECT uczniowie.nazwisko, AVG(oceny.informatyka) AS srednia_z_infy
FROM uczniowie JOIN oceny (a) uczniowie.PESEL = oceny.PESEL
WHERE oceny.przedmiot = 'informatyka'
GROUP BY uczniowie.nazwisko;
