lab1 select
This commit is contained in:
parent
6e5c726eff
commit
01137c30d2
|
@ -0,0 +1,66 @@
|
|||
USE w65567_FIRMA;
|
||||
SELECT * FROM PRACOWNICY;
|
||||
SELECT * FROM DEPARTAMENTY;
|
||||
|
||||
-- 1. Dla każdego pracownika podaj na jakim stanowisku pracuje
|
||||
SELECT NAZWISKO, STANOWISKO FROM PRACOWNICY;
|
||||
|
||||
-- 2. Znajdź różnice między najwyższymi a najniższymi zarobkami, nazwij kolumnę wyświetlająca wynik różnica
|
||||
SELECT max(PENSJA) - min(PENSJA) AS ROZNICA FROM PRACOWNICY;
|
||||
|
||||
-- 3. Ilu jest pracowników
|
||||
SELECT count(IDENTYFIKATOR) FROM PRACOWNICY;
|
||||
|
||||
-- 4. Kto zarabia powyżej 3 tys?
|
||||
SELECT NAZWISKO, PENSJA FROM PRACOWNICY WHERE PENSJA > 3000;
|
||||
|
||||
-- 5. Kiedy zatrudniono pierwszego pracownika
|
||||
SELECT TOP 1 NAZWISKO, DATA_ZATRUD FROM PRACOWNICY ORDER BY DATA_ZATRUD ASC;
|
||||
|
||||
-- 6. Wypisz nazwiska pracowników zatrudnionych w maju
|
||||
SELECT NAZWISKO, DATA_ZATRUD FROM PRACOWNICY WHERE month(DATA_ZATRUD) = 5;
|
||||
SELECT NAZWISKO, DATA_ZATRUD FROM PRACOWNICY WHERE DATA_ZATRUD LIKE '%-05-%';
|
||||
|
||||
-- 7. Wypisz nazwiska pracowników z działu Sprzedaży
|
||||
SELECT NAZWISKO, NAZWA FROM PRACOWNICY INNER JOIN DEPARTAMENTY ON PRACOWNICY.KOD_dzialu=DEPARTAMENTY.KOD_dzialu WHERE DEPARTAMENTY.NAZWA='Sprzedazy';
|
||||
|
||||
-- 8. Podaj nazwę działu z Krakowa
|
||||
SELECT NAZWA FROM DEPARTAMENTY WHERE LOKALIZACJA='Krakow';
|
||||
|
||||
-- 9. Ile osób pracuje na stanowisku Sprzedawca
|
||||
SELECT count(IDENTYFIKATOR) FROM PRACOWNICY WHERE STANOWISKO='Sprzedawca';
|
||||
|
||||
-- 10. Jak długo pracuje najwcześniej zatrudniony pracownik
|
||||
SELECT TOP 1 DATA_ZATRUD, datediff(year, DATA_ZATRUD, getdate()) FROM PRACOWNICY ORDER BY DATA_ZATRUD ASC;
|
||||
SELECT year(getdate()) - year(DATA_ZATRUD) FROM PRACOWNICY ORDER BY DATA_ZATRUD ASC;
|
||||
|
||||
-- 11. Ilu jest pracowników w każdym dziale
|
||||
SELECT KOD_dzialu, count(IDENTYFIKATOR) AS ILOSC FROM PRACOWNICY GROUP BY KOD_dzialu;
|
||||
|
||||
-- 12. Ilu jest pracowników w każdym dziale z wyjątkiem działu 20
|
||||
SELECT KOD_dzialu, count(IDENTYFIKATOR) AS ILOSC FROM PRACOWNICY WHERE KOD_dzialu != 20 GROUP BY KOD_dzialu;
|
||||
|
||||
-- 13. Podaj nazwę działu w którym jest co najmniej 4 pracowników
|
||||
SELECT NAZWA, count(IDENTYFIKATOR) FROM DEPARTAMENTY INNER JOIN PRACOWNICY ON DEPARTAMENTY.KOD_dzialu=PRACOWNICY.KOD_dzialu GROUP BY NAZWA HAVING count(IDENTYFIKATOR) >= 4;
|
||||
|
||||
-- 14. Który pracownik ma najdłuższe nazwisko
|
||||
SELECT TOP 1 NAZWISKO FROM PRACOWNICY ORDER BY len(NAZWISKO) DESC;
|
||||
SELECT TOP 1 NAZWISKO FROM PRACOWNICY WHERE len(NAZWISKO)=(SELECT max(len(NAZWISKO)) FROM PRACOWNICY);
|
||||
|
||||
-- 15. Kto zarabia najwięcej
|
||||
SELECT NAZWISKO FROM PRACOWNICY WHERE PENSJA=(SELECT max(PENSJA) FROM PRACOWNICY);
|
||||
|
||||
-- 16. Podaj nazwisko pracownika który najdłużej pracuje
|
||||
SELECT NAZWISKO FROM PRACOWNICY WHERE DATA_ZATRUD=(SELECT min(DATA_ZATRUD) FROM PRACOWNICY);
|
||||
|
||||
-- 17. Podaj nazwisko pracownika który nie ma prowizji (is null)
|
||||
SELECT NAZWISKO FROM PRACOWNICY WHERE PROWIZJA IS NULL;
|
||||
|
||||
-- 18. Podaj kierownika który zarządza działem z Krakowa
|
||||
SELECT NAZWISKO FROM PRACOWNICY INNER JOIN DEPARTAMENTY ON PRACOWNICY.KOD_dzialu=DEPARTAMENTY.KOD_dzialu WHERE STANOWISKO='Kierownik' AND LOKALIZACJA='Krakow';
|
||||
|
||||
-- 19. Podaj nazwę działu w którym pracuje co najmniej 3 pracowników
|
||||
SELECT NAZWA, count(IDENTYFIKATOR) FROM DEPARTAMENTY INNER JOIN PRACOWNICY ON DEPARTAMENTY.KOD_dzialu=PRACOWNICY.KOD_dzialu GROUP BY NAZWA HAVING count(IDENTYFIKATOR) >= 3;
|
||||
|
||||
-- 20. Podaj nazwiska pracowników którzy zarabiają między 2000 a 3000 (between)
|
||||
SELECT NAZWISKO FROM PRACOWNICY WHERE PENSJA BETWEEN 2000 AND 3000;
|
Loading…
Reference in New Issue