Lab 5
This commit is contained in:
commit
c24d273b7b
|
@ -0,0 +1,26 @@
|
|||
USE BILBLIOTEKA_2022;
|
||||
|
||||
-- wypisz egzemplarz który wystąpił we wszystkich wypożyczeniach
|
||||
|
||||
SELECT wypozyczenie.id_egzemplarz FROM wypozyczenie
|
||||
INNER JOIN egzemplarz ON wypozyczenie.id_egzemplarz=egzemplarz.id_egzemplarz
|
||||
INNER JOIN ksiazka ON egzemplarz.id_ksiazka=ksiazka.id_ksiazka
|
||||
WHERE wypozyczenie.id_egzemplarz = (
|
||||
SELECT max(cc.ilosc) FROM (
|
||||
SELECT id_egzemplarz, count(*) AS ilosc FROM wypozyczenie bb
|
||||
GROUP BY id_egzemplarz
|
||||
) cc
|
||||
);
|
||||
|
||||
|
||||
-- sprawdzenie
|
||||
|
||||
SELECT * FROM wypozyczenie;
|
||||
|
||||
SELECT id_egzemplarz, count(*) FROM wypozyczenie
|
||||
GROUP BY id_egzemplarz;
|
||||
|
||||
SELECT max(cc.ilosc) FROM (
|
||||
SELECT id_egzemplarz, count(*) AS ilosc FROM wypozyczenie bb
|
||||
GROUP BY id_egzemplarz
|
||||
) cc
|
|
@ -0,0 +1,46 @@
|
|||
USE w65567_FIRMA;
|
||||
|
||||
-- 0. przygotuj komunikat 'Jest X sprzedawców'
|
||||
DECLARE @b int
|
||||
SELECT @b=count(*) FROM Pracownicy WHERE STANOWISKO='Sprzedawca'
|
||||
PRINT 'Jest '+cast(@b AS varchar)+' sprzedawcow'
|
||||
|
||||
-- 1. Zarobki poniżej 3 tys należy zwiększyć o 20%, a zarobki powyżej 3 tys
|
||||
-- należy obniżyć o 10%
|
||||
UPDATE Pracownicy
|
||||
SET PENSJA=(
|
||||
CASE
|
||||
WHEN PENSJA < 3000 THEN PENSJA*1.2
|
||||
WHEN PENSJA > 3000 THEN PENSJA*0.9
|
||||
ELSE PENSJA
|
||||
END
|
||||
)
|
||||
|
||||
SELECT * FROM Pracownicy
|
||||
|
||||
|
||||
-- 2. Stwórz procedurę która wypisze najwcześniej zatrudnione osoby, w każdym
|
||||
-- departamencie. Identyfikator departamentu powinien być przekazanym jako
|
||||
-- argument procedur. Natomiast data zatrudnienia przekazywana jest przez
|
||||
-- drugi argument, który jest zadeklarowany jako wyjściowy.
|
||||
CREATE PROC zad2 (
|
||||
@d int,
|
||||
@data date OUTPUT
|
||||
) AS
|
||||
SELECT @data=min(data_zatrud) FROM Pracownicy
|
||||
WHERE KOD_dzialu=@d
|
||||
|
||||
|
||||
DECLARE @data DATE
|
||||
EXEC zad2 10, @data OUTPUT
|
||||
PRINT @data
|
||||
|
||||
CREATE PROC ilosc
|
||||
AS
|
||||
DECLARE @i int
|
||||
SELECT @i=count(identyfikator) FROM Pracownicy
|
||||
RETURN @i
|
||||
|
||||
DECLARE @z int
|
||||
EXEC @z=ilosc
|
||||
PRINT @z
|
Loading…
Reference in New Issue