Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*1 */
- SELECT *
- FROM Uzytkownicy
- ORDER BY Aktywna_Faktura
- /*2 Zaznacz przedmioty w przedziale coenowym 800-1800* malejąco */
- SELECT *
- FROM Przedmioty
- WHERE Cena BETWEEN 800 AND 1800
- ORDER BY Cena DESC
- /*3 Zaznacz faktury użytkowników*/
- SELECT *
- FROM Dane_Faktur
- ORDER BY Id_Uzytkownika
- /*4zaznacz fakturowanych z miejscowości Dallas */
- SELECT *
- FROM Dane_Faktur
- WHERE Miejscowosc LIKE 'Dallas'
- /*5zaznacz fakturowanych z Nazwiskiem Turner */
- SELECT *
- FROM Dane_Faktur
- WHERE Nazwisko LIKE 'Turner'
- /*6Zaznacz pracowników z premią godzinową powyżej 8 zł i płacą powyżej 15 zł */
- SELECT *
- FROM Umowy
- WHERE Premia_Godzinowa > 8 AND Placa > 20
- /*7zaznacz przedmioty z przedziału cenowego 1500 3000*/
- SELECT *
- FROM Przedmioty
- WHERE Cena BETWEEN 1500 AND 3000
- /*8zaznacz przedmioty z przedziału cenowego 900 1150 z kategorii 2*/
- SELECT *
- FROM Przedmioty
- WHERE (Cena BETWEEN 900 AND 1150) AND Kategoria = 2
- /*9zaznacz przedmioty z przedziału cenowego 900 1150 z kategorii 2, postoruj wedle ceny rosnąco*/
- SELECT *
- FROM Przedmioty
- WHERE (Cena BETWEEN 900 AND 1150) AND Kategoria = 2
- ORDER BY Cena DESC
- /*10zaznacz przedmioty których stan magazywnowy jest >=3 szt*/
- SELECT *
- FROM Przedmioty
- WHERE Ilosc_Magazynowa <= 3
- /*11Wyświetl przedmioty które po 20 % obniżce bedą mieć cenę ponizej 1500 zł */
- SELECT Nazwa,Cena,Cena*0.8 AS 'cena po rabacie'
- FROM Przedmioty
- WHERE (Cena*0.8) < 1500
- /*12Wyświetl przedmioty które po 20 % obniżce bedą mieć cenę ponizej 1500 zł uporządkuj wedle ceny po rabacie malejąco*/
- SELECT Nazwa,Cena,Cena*0.8 AS 'cena po rabacie'
- FROM Przedmioty
- WHERE (Cena*0.8) < 1500
- ORDER BY (cena*0.8) DESC
- /* 13 Zaznacz 3 najwyższe ceny produktów */
- SELECT Top (3) *
- FROM Przedmioty
- ORDER BY Cena DESC
- /*14Zaznacz pracowników z premią godzinową powyżej 8 zł i płacą powyżej 15 zł wyświetl łączną stawkę godzinową */
- SELECT Placa,Premia_Godzinowa, (Premia_Godzinowa + Placa) AS 'całkowita stawka'
- FROM Umowy
- WHERE Premia_Godzinowa > 8 AND Placa > 20
- /*15Zaznacz wszystkie uniklane miasta z danych faktur*/
- SELECT DISTINCT(Miejscowosc)
- FROM Dane_Faktur
- /*16 Zaznacz losowy przedmiot */
- SELECT *
- FROM Przedmioty
- WHERE Id_Przedmiotu = (FLOOR(RAND()*(413+1)+5))
- /*17 zaznacz losowego użytkownika */
- SELECT Id_Uzytkownika FROM Uzytkownicy WHERE Id_Uzytkownika = (FLOOR(RAND()*(1000)+1005))
- SELECT Aktywna_Faktura FROM Uzytkownicy WHERE Id_Uzytkownika = (FLOOR(RAND()*(1000)+1005))
- /* 18 Zaznacz aktywne faktury uzytkowników */
- SELECT Id_Faktury, Uzytkownicy.email, Uzytkownicy.Id_Uzytkownika,Dane_Faktur.Id_Uzytkownika
- FROM Dane_Faktur
- INNER JOIN Uzytkownicy ON Dane_Faktur.Id_Faktury =Uzytkownicy.Aktywna_Faktura;
- SELECT *
- FROM Dane_Faktur
- /* 19 wyświetl iniciały osób fakturowanych */
- SELECT Imie,Nazwisko,SUBSTRING(Imie,1,1) + SUBSTRING(Nazwisko,1,1) AS 'Iniciały'
- FROM Dane_Faktur
- /*20 Zaznacz wszystkie zamówione przedmioty uzytkownika o emalu massa.Vestibulum@Aliquamnisl.ca*/
- SELECT Przedmioty.Nazwa,Zamowienia_Przedmioty.Rabat,Przedmioty.Cena,(Przedmioty.Cena*Zamowienia_Przedmioty.Rabat)
- FROM Uzytkownicy
- INNER JOIN Zamowienia ON Uzytkownicy.Id_Uzytkownika = Zamowienia.Id_Uzytkownika
- INNER JOIN Zamowienia_Przedmioty ON Zamowienia.Id_Zamowienia = Zamowienia_Przedmioty.Id_Zamowienia
- INNER JOIN Przedmioty ON Przedmioty.Id_Przedmiotu =Zamowienia_Przedmioty.Id_Przedmiotu
- WHERE email LIKE 'massa.Vestibulum@Aliquamnisl.ca'
- /*21 */
- /* Dodaj 3 z lewej z imienia 3 z prawej z nawiska + Id_Pracownika */
- SELECT LEFT( Imie, 3)+RIGHT(RTRIM(Nazwisko), 3)+CAST(Id_Pracownika AS VARCHAR(20))
- FROM Pracownicy
- /*22 */
- SELECT UPPER(LEFT( Imie, 3)+RIGHT(RTRIM(Nazwisko), 3)+CAST(Id_Pracownika AS VARCHAR(20)))
- FROM Pracownicy
- /*23 Policz msc od zawarcia umowy do jej wygasniecia*/
- SELECT *
- FROM Umowy
- SELECT Id_Umowy,DATEDIFF(MONTH,Data_Zawarcia, Data_Wygasniecia) AS 'msc'
- FROM Umowy
- /*24 Policz dni od dolaczenia */
- SELECT * FROM Uzytkownicy
- SELECT email, DATEDIFF(MONTH,Data_Dolaczenia,GETDATE()) AS 'z nami od'
- FROM Uzytkownicy
- /*25 zaznacz wszystkich użytkowników z domena .edu */
- SELECT * FROM Uzytkownicy
- WHERE email LIKE '%edu'
- /*26 zaznacz wszystkich użytkowników z poczatkiem emaila du */
- SELECT * FROM Uzytkownicy
- WHERE email LIKE 'du%'
- /*27 zaznacz wszystkich użytkowników z 2 lietra z przedziału G-K */
- SELECT email, SUBSTRING(email,2,1) AS 'druga litera'
- FROM Uzytkownicy
- WHERE SUBSTRING(email,2,1) LIKE '[G-K]'
- /*28 to samo co 25, ale innym sposobem */
- SELECT email, SUBSTRING(email,2,1) AS 'druga litera'
- FROM Uzytkownicy
- WHERE email LIKE '_[G-K]%'-- []-reprezentuje 1 znak więc szukamy COS|ZNAK MIEDZY G-K | OBOJETNIE ILE COSIÓW
- /* 29 wyświetla emaile zaczynające się na A,W lub P */
- SELECT email
- FROM Uzytkownicy
- WHERE email LIKE '[awp]%'
- ORDER BY email
- /* 30 Wyświetla emaile które NIE zaczynają się na A,W lub P */
- SELECT email
- FROM Uzytkownicy
- WHERE email NOT LIKE '[awp]%'
- ORDER BY email
- /*31 to samo co wyżej tylko inaczej zrobione*/
- SELECT email
- FROM Uzytkownicy
- WHERE email LIKE '[^awp]%'
- ORDER BY email
- /*32 Wyświetla emaile bez @*/
- SELECT email
- FROM Uzytkownicy
- WHERE email NOT LIKE '%@%'
- ORDER BY email
- /*33 Wyświetla Imona kończące się na e*/
- SELECT Imie FROM Dane_Faktur
- WHERE Imie LIKE '%e'
- /*34 zaznacz różnice w dołączeniu między użytkownikami poprzedzającymi */
- DECLARE @Data_Poprzednia DATE
- DECLARE @USER INT
- SELECT @Data_Poprzednia = Data_Dolaczenia, @USER = Id_Uzytkownika
- FROM Uzytkownicy
- WHERE Id_Uzytkownika = 1561
- SELECT @Data_Poprzednia AS 'DATA POPRZEDNIEGO', @USER AS 'Id Poprzedniego', Data_dolaczenia, Id_Uzytkownika, DATEDIFF(DAY,@Data_Poprzednia,Data_dolaczenia) AS 'Różnica czasu'
- FROM Uzytkownicy
- WHERE Id_Uzytkownika = (@USER +1 )
- /* 35 Ile dni dzieli uzytkowników? (Id-1) podejscie z pentla Należy uruchmoć całość wartość jest absolutna z uwagi na losowe daty podczas generowania danych testowych */
- CREATE TABLE #Tymczasowa (
- Data_Poprzedniego DATE,
- Id_Poprzedniego INT
- );
- DECLARE @USER DATE
- DECLARE @IdP INT
- DECLARE Uzytkownicy_Kursor2 CURSOR FOR SELECT Data_Dolaczenia,Id_Uzytkownika FROM Uzytkownicy;
- OPEN Uzytkownicy_Kursor2
- FETCH NEXT FROM Uzytkownicy_Kursor2 INTO @USER,@IdP;
- PRINT @USER
- WHILE @@FETCH_STATUS = 0
- BEGIN
- FETCH NEXT FROM Uzytkownicy_Kursor2 INTO @USER,@IdP;
- INSERT INTO #Tymczasowa (Data_Poprzedniego,Id_Poprzedniego) VALUES (@USER, @IdP)
- END
- CLOSE Uzytkownicy_Kursor2
- DEALLOCATE Uzytkownicy_Kursor2
- SELECT #Tymczasowa.Data_Poprzedniego, Uzytkownicy.Data_Dolaczenia, ABS(DATEDIFF(MONTH,Data_Poprzedniego,Uzytkownicy.Data_Dolaczenia)) AS 'Dzieli nas miesiecy'
- FROM #Tymczasowa
- INNER JOIN Uzytkownicy ON #Tymczasowa.Id_Poprzedniego = Uzytkownicy.Id_Uzytkownika+1
- WHERE #Tymczasowa.Data_Poprzedniego IS NOT NULL AND Uzytkownicy.Data_Dolaczenia IS NOT NULL
- DROP TABLE #Tymczasowa
- /*aż dotąd! */
- /* 38 A tu dużo prostrze podejśće XD */
- CREATE TABLE #Tymczasowa (
- Data_Poprzedniego DATE,
- Id_Poprzedniego INT
- );
- INSERT INTO #Tymczasowa
- SELECT Data_Dolaczenia,Id_Uzytkownika FROM Uzytkownicy
- SELECT #Tymczasowa.Data_Poprzedniego, Uzytkownicy.Data_Dolaczenia, ABS(DATEDIFF(MONTH,Uzytkownicy.Data_Dolaczenia,Data_Poprzedniego)) AS 'Dzieli nas miesiecy'
- FROM #Tymczasowa
- INNER JOIN Uzytkownicy ON #Tymczasowa.Id_Poprzedniego = Uzytkownicy.Id_Uzytkownika+1
- WHERE #Tymczasowa.Data_Poprzedniego IS NOT NULL AND Uzytkownicy.Data_Dolaczenia IS NOT NULL
- DROP TABLE #Tymczasowa
- /*39 */
- SELECT Przedmioty.Id_Przedmiotu AS 'Przedmioty', Zamowienia_Przedmioty.Id_Przedmiotu AS 'zamowienia przedmioty'
- FROM Przedmioty
- LEFT JOIN Zamowienia_Przedmioty ON Przedmioty.Id_Przedmiotu = Zamowienia_Przedmioty.Id_Przedmiotu
- ORDER BY Przedmioty.Cena;
- /*40 */
- SELECT *
- FROM Przedmioty
- RIGHT JOIN Zamowienia_Przedmioty ON Przedmioty.Id_Przedmiotu = Zamowienia_Przedmioty.Id_Przedmiotu
- ORDER BY Przedmioty.Cena;
- /*41*/
- SELECT *
- FROM Przedmioty
- INNER JOIN Zamowienia_Przedmioty ON Przedmioty.Id_Przedmiotu = Zamowienia_Przedmioty.Id_Przedmiotu
- ORDER BY Przedmioty.Cena;
- /*42 No i wszystko na raz */
- SELECT *
- FROM Przedmioty
- FULL JOIN Zamowienia_Przedmioty ON Przedmioty.Id_Przedmiotu = Zamowienia_Przedmioty.Id_Przedmiotu
- FULL JOIN Zamowienia ON Zamowienia_Przedmioty.Id_Zamowienia = Zamowienia.Id_Zamowienia
- ORDER BY Przedmioty.Cena;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement