Font size
WorksheetsSQL_Agreg_GRBY
Total questions: 11
Worksheet time: 29mins
Które zapytanie wyświetli dane (imię, nazwisko i PESEL) wszystkich pracowników uczelni 'UczelniaA' i 'UczelniaB' oraz jeśli w obu tabelach znajduje się taki sam pracownik, wyświetl go tylko raz, a wyniki posortuje według nazwiska.
SELECT imie, nazwisko, pesel FROM UczelniaA
UNION
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko;
SELECT imie, nazwisko, pesel FROM UczelniaA
ORDER BY nazwisko
UNION
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko;
SELECT imie, nazwisko, pesel FROM UczelniaA
UNION ALL
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko;
SELECT imie, nazwisko, pesel FROM UczelniaA
ORDER BY nazwisko
UNION ALL
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko;
Które zapytanie wyświetli pracowników (imie, nazwisko, pesel), którzy pracują zarówno na uczelni UczelniaA, jak i na uczelni UczelniaB, a wyniki posortuje według nazwiska malejąco?
SELECT imie, nazwisko, pesel FROM UczelniaA
INTERSECT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko DESC;
SELECT imie, nazwisko, pesel FROM UczelniaA
INTERSECT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
SELECT imie, nazwisko, pesel FROM UczelniaA
ORDER BY nazwisko DESC
INTERSECT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko DESC;
SELECT imie, nazwisko, pesel FROM UczelniaA
ORDER BY nazwisko ASC
INTERSECT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
SELECT* FROM UczelniaA
ORDER BY nazwisko ASC
INTERSECT
SELECT * FROM UczelniaB
ORDER BY nazwisko ASC;
Które zapytanie pozwoli stwierdzić, którzy z pracowników uczelni UczelniaA nie pracują jednocześnie na uczelni UczelniaB. Wyniki posortuj według nazwiska rosnąco.
SELECT imie, nazwisko, pesel FROM UczelniaA
EXCEPT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
SELECT imie, nazwisko, pesel FROM UczelniaA
INTERSECT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
SELECT imie, nazwisko, pesel FROM UczelniaA
UNION ALL
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
SELECT imie, nazwisko, pesel FROM UczelniaA
ORDER BY nazwisko ASC
EXCEPT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
SELECT imie, nazwisko, pesel FROM UczelniaA
ORDER BY nazwisko ASC
INTERSECT
SELECT imie, nazwisko, pesel FROM UczelniaB
ORDER BY nazwisko ASC;
Które zapytanie (zapytania?) pozwoli (pozwolą?) stwierdzić, którzy pracownicy zarabiają mniej niż 1000 zł lub zarabiają więcej niż 2000 zł
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa < 1000
UNION ALL
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa > 2000
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa <= 1000
UNION ALL
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa >= 2000
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa < 1000 OR placa > 2000;
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa < 1000 AND placa > 2000;
SELECT imie, nazwisko, placa
FROM pracownicy
WHERE placa NOT BETWEEN 1000 AND 2000;
Które zapytanie pozwoli sprawdzić, jaka jest różnica pomiędzy minimalną a maksymalną pensją?
SELECT (MAX(placa) - MIN(placa)) as RoznicaPensji
FROM pracownicy;
SELECT (MIN(placa) - MAX(placa)) as RoznicaPensji
FROM pracownicy;
SELECT (AVG(placa) - MIN(placa)) as RoznicaPensji
FROM pracownicy;
SELECT (AVG(placa) - MAX(placa)) as RoznicaPensji
FROM pracownicy;
Które zapytanie pozwoli policzyć wszystkich aktywnych pracowników.
SELECT COUNT(*) as LiczbaAktywnychPracowników
FROM employee
WHERE Active = 1;
SELECT COUNT(*) as LiczbaAktywnychPracowników
FROM employee;
SELECT COUT(*) as LiczbaAktywnychPracowników
FROM employee
WHERE Active = 1;
SELECT COUT(*) as LiczbaAktywnychPracowników
FROM employee;
Które zapytanie pozwoli policzyć wszystkich pracowników, którzy nie mają podanego numeru PESEL?
SELECT COUNT(*) as PracownicyBezPeselu
FROM pracownicy
WHERE PESEL IS NULL;
SELECT COUT(*) as PracownicyBezPeselu
FROM pracownicy
WHERE PESEL IS NULL;
SELECT COUT(*) as PracownicyBezPeselu
FROM pracownicy
WHERE PESEL = NULL;
SELECT COUT(*) as PracownicyBezPeselu
FROM pracownicy
WHERE PESEL = NULL;
Które zapytanie (zapytania?) pozwoli (pozwolą?) policzyć ile pracodawca wydaje rocznie na pensje?
SELECT SUM(Salary) * 12 as RocznaSumaPensji
FROM Employee
WHERE Active = 1
SELECT SUM(Salary * 12) as RocznaSumaPensji
FROM Employee
WHERE Active = 1
SELECT Salary(SUM) * 12 as RocznaSumaPensji
FROM Employee
WHERE Active = 1
SELECT LICZ(Salary) * 12 as RocznaSumaPensji
FROM Employee
WHERE Active = 1
SELECT AVG(Salary) * 12 as RocznaSumaPensji
FROM Employee
WHERE Active = 1
Które zapytanie (zapytania?) pozwoli (pozwolą?) policzyć ile pracodawca wydaje rocznie na pensje?
SELECT rodzaj, SUM(cena) as LacznaCenaUslug FROM uslugi GROUP BY rodzaj;
SELECT rodzaj, SUM(cena) as LacznaCenaUslug FROM uslugi ORDER BY rodzaj;
SELECT rodzaj, AVG(cena) as LacznaCenaUslug FROM uslugi GROUP BY rodzaj;
SELECT rodzaj, MAX(cena) as LacznaCenaUslug FROM uslugi ORDER BY rodzaj;
SELECT rodzaj, COUNT(cena) as LacznaCenaUslug FROM uslugi GROUP BY rodzaj;
Które zapytanie pozwoli obliczyć średnią, minimalną oraz najwyższą płacę dla poszczególnych działów?
SELECT DepartmentId as Dzial,
AVG(Salary) as SredniaPlaca,
MIN(Salary) as NajniszaPlaca,
MAX(Salary) as NajwyzszaPlaca
FROM employee
GROUP BY DepartmentId;
SELECT DepartmentId as Dzial,
AVG(Salary) as SredniaPlaca,
MIN(Salary) as NajniszaPlaca,
MAX(Salary) as NajwyzszaPlaca
FROM employee
ORDER BY DepartmentId;
SELECT DepartmentId as Dzial,
SUM(Salary) as SredniaPlaca,
MIN(Salary) as NajniszaPlaca,
MAX(Salary) as NajwyzszaPlaca
FROM employee
ORDER BY DepartmentId;
SELECT DepartmentId as Dzial,
COUNT(Id),
AVG(Salary) as SredniaPlaca,
MIN(Salary) as NajniszaPlaca,
MAX(Salary) as NajwyzszaPlaca
FROM employee
GROUP BY DepartmentId;
Jaki błąd znajduje się w poniższej instrukcji w SQL-u?
SELECT zam_numer, COUNT(*) AS elementy
FROM ElementyZamowienia
GROUP BY elementy
HAVING COUNT(*) >= 3
ORDER BY elementy, zam_numer;
Klauzula GROUP BY elementy jest nieprawidłowa. W klauzuli GROUP BY trzeba użyć zwykłej kolumny, a nie kolumny używanej w agregacji. Dozwolona byłaby tu klauzula GROUP BY zam_numer.
Klauzula ORDER BY jest nieprawidłowa. W klauzuli ORDER BY trzeba po przecinku powtórzyć 'ORDER BY' by zapytanie prawidłowo sortowało.
Klauzula HAVING jest nieprawidłowa. W klauzuli HAVING trzeba użyć zwykłej kolumny, a nie kolumny używanej w agregacji.
