Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- UPITI::Northwind
- -- 1. Prikazati listu zaposlenika sa sljedećim atributima: ID, ime, prezime i titulu, gdje je ID = 9 ili dolaze iz USA.
- USE Northwind
- SELECT EmployeeID, FirstName, LastName, Title
- FROM Employees
- WHERE EmployeeID=9 OR Country='USA'
- -- 2. Prikazati podatke o narudžbama koje su napravljene prije 19.07.1996. godine. Izlaz treba da sadrži sljedeće kolone: broj narudžbe, datum narudžbe, id kupca, te grad.
- USE Northwind
- SELECT OrderID 'Broj narudzbe', OrderDate 'Datum narudzbe', CustomerID, ShipCity
- FROM Orders
- WHERE ShippedDate < '19960719'
- -- 3. Prikazati ime kompanije kupca i kontakt telefon i to samo onih koji u svome imenu posjeduju riječ „Restaurant“. Ukoliko naziv kompanije sadrži karakter (-), kupce izbaciti iz rezultata upita.
- USE Northwind
- SELECT CompanyName, Phone
- FROM Customers
- WHERE CompanyName LIKE '%restaurant%' AND CompanyName NOT LIKE '%-%'
- -- 4. Prikazati listu proizvoda čiji naziv počinje slovima „S“ ili „T“, ili je ID proizvoda = 46. Također, lista treba da sadrži one proizvode čija je se cijena po komadu kreće između 10 i 50. Upit napisati na dva načina.
- USE Northwind
- SELECT ProductID, ProductName
- FROM Products
- WHERE (ProductName LIKE '[st]%' OR ProductID=46) AND UnitPrice BETWEEN 10 and 50
- USE Northwind
- SELECT ProductID, ProductName
- FROM Products
- WHERE (ProductName LIKE 's%' OR ProductName LIKE 't%' OR ProductID=46) AND UnitPrice BETWEEN 10 and 50
- --? 5. Prikazati dobavljače koji dolaze iz Španije ili Njemačke a nemaju unesen broj faxa. Formatirati izlaz NULL vrijednosti. Upit napisati na dva načina.
- USE Northwind
- SELECT SupplierID, CompanyName, Country, Fax
- FROM Suppliers
- WHERE Country IN ('Spain','Germany') AND Fax IS NULL
- USE Northwind
- SELECT SupplierID, CompanyName, Country, Fax
- FROM Suppliers
- WHERE (Country LIKE 'Spain' OR Country LIKE 'Germany') AND Fax IS NULL
- -- 6. Prikazati naziv proizvoda i cijenu gdje je stanje na zalihama manje od naručene količine. Također, u rezultate upita uključiti razliku između naručene količine i stanja zaliha.
- USE Northwind
- SELECT ProductName, UnitPrice, (UnitsOnOrder-UnitsInStock) 'Razlika UOO-UIS'
- FROM Products
- WHERE UnitsInStock<UnitsOnOrder
- -- 7. Prikazati stavke narudžbe (sve kolone) gdje je količina narudžbe bila veća od 100 komada uz odobreni popust.
- USE Northwind
- SELECT *
- FROM [Order Details]
- WHERE Quantity > 100 AND Discount>0
- -- 8. Prikazati proizvode čiji naziv ne počinje slovima „S“ ili „L“, drugo slovo je nepoznato, a treće slovo u nazivu je „A“ ili „C“. Koristiti wildcard karaktere.
- USE Northwind
- SELECT ProductName
- FROM Products
- WHERE ProductName LIKE '[^sl]_[ac]%'
- -- UPITI:Pubs
- -- 1. Prikazati listu autora sa sljedećim kolonama: ID, ime i prezime (spojeno), grad i to samo one autore čiji ID počinje brojem 8 ili dolaze iz grada „Salt Lake City“. Također autorima status ugovora treba biti 1. Koristiti aliase nad kolonama.
- USE pubs
- SELECT au_id 'ID', au_fname + ' ' + au_lname 'Ime i Prezime', city 'Grad'
- FROM authors
- WHERE (au_id LIKE '8%' OR city='Salt Lake City') AND contract=1
- -- 2. Prikazati sve tipove knjiga bez duplikata. Listu sortirati po tipu.
- USE pubs
- SELECT DISTINCT type
- FROM titles
- ORDER BY type
- -- 3. Prikazati listu prodaje knjiga sa sljedećim kolonama: ID prodavnice, broj narudžbe i količinu, ali samo gdje je količina između 10 i 50, uključujući i granične vrijednosti. Rezultat upita sortirati po količini opadajućim redoslijedom. Upit napisati na dva načina.
- USE pubs
- SELECT stor_id, ord_num, qty
- FROM sales
- WHERE qty BETWEEN 10 AND 50
- ORDER BY qty DESC
- -- 4. Prikazati listu knjiga sa sljedećim kolonama: naslov, tip djela i cijenu. Kao novu kolonu dodati 20% od prikazane cijene (npr. Ako je cijena 19.99 u novoj koloni treba da piše 3,998). Naziv kolone se treba zvati „20% od cijene“. Listu sortirati abecedno po tipu djela i po cijeni opadajućim redoslijedom. Sa liste eliminisati one vrijednosti koje u polju cijena imaju nepoznatu vrijednost. Modifikovati upit tako da prikaže cijenu umanjenu za 20 %. Naziv kolone treba da se zove „Cijena umanjena za 20%“.
- USE pubs
- SELECT title, type, price, (price*0.2) '20% od cijene'
- FROM titles
- WHERE price IS NOT NULL
- ORDER BY type, price DESC
- --? 5. Prikazati 10 količinski najvećih stavki prodaje. Lista treba da sadrži broj narudžbe, datum narudžbe i količinu. Provjeriti da li ima više stavki sa količinom kao posljednja u listi.
- USE pubs
- SELECT TOP(10) ord_num, ord_date, qty
- FROM sales
- ORDER BY qty DESC
- --UPITI::AdvetureWorksLT
- --? 1. Kreirati poruku dobrodošlice za kupce u sljedećem formatu: Dobrodošli Ime + Prezime, trenutno vrijeme je 11:20. Upit raditi na dva načina, koristeći funkcije za rad sa stringovima i datumima.
- USE AdventureWorksLT2012
- SELECT 'Dobro dosli '+FirstName+' '+ LastName+', trenutno vrijeme je '+SUBSTRING(CONVERT(CHAR,SYSDATETIME()),12,5) 'Welcome'
- FROM SalesLT.Customer
- USE AdventureWorksLT2012
- SELECT 'Dobro dosli '+FirstName+' '+ LastName+', trenutno vrijeme je '+SUBSTRING(CAST(SYSDATETIME() AS NVARCHAR),12,5) 'Welcome'
- FROM SalesLT.Customer
- -- 2. Kreirati korisničke podatke za kupce: korisničko ime i lozinku. Korisničko ime kreirati koristeći mail adresu (sve do znaka @), a lozinku koristeći kolonu PasswordHash (preskočiti prvih 5 karaktera i uzeti narednih 8, te ukoliko se pojavljuje karakter '+', zamijeniti ga sa '#'). Korisničke podatke kreirati samo za kupce koji imaju unesenu titulu a titula je 'Mr.'
- USE AdventureWorksLT2012
- SELECT LEFT(EmailAddress, CHARINDEX('@', EmailAddress)-1)'Ime', REPLACE(LEFT(RIGHT(PasswordHash, LEN(PasswordHash)-5),8),'+','#')'Lozinka'
- FROM SalesLT.Customer
- WHERE title LIKE 'Mr.'
- -- 3. Prikazati početak i kraj prodaje proizvoda, također, u listu uključiti i ukupno trajanje prodaje u mjesecima. Uslovi su: da je kraj prodaje proizvoda unesen i da naziv proizvoda počinje sa L ili M, a završava sa L.
- USE AdventureWorksLT2012
- SELECT SellStartDate, SellEndDate, MONTH(SellEndDate-SellStartDate)'Trajanje prodaje u mjesecima'
- FROM SalesLT.Product
- WHERE SellEndDate IS NOT NULL AND Name LIKE '[LM]%L'
- -- 4. Prikazati broj narudžbe, broj dana do isporuke, ukupan iznos i način dostave. Kolonu način dostave ispisati malim slovima s tim da je početno slovo veliko. Ukupan iznos narudžbe treba biti između 200 i 1000.
- USE AdventureWorksLT2012
- SELECT SalesOrderNumber, DAY(ShipDate-OrderDate)'Do isporuke(dana)', TotalDue 'Ukupan iznos', LEFT(ShipMethod,1)+SUBSTRING(LOWER(shipmethod),2,20)
- FROM SalesLT.SalesOrderHeader
- WHERE TotalDue BETWEEN 200 AND 1000
- -- 5. Prikazati 10 najskupljih stavki narudžbe (ID stavke, cijena, količina, ukupno). Kolonu ukupno (izračunata kolona) zaokružiti na preciznost od dvije decimale. Također, potrebno je formatirati izlaz kolona cijena, količina i ukupno. Koristiti sljedeće formate: Cijena: 100.20 KM; Količina: 3 kom.; Ukupno: 300.60 KM.
- USE AdventureWorksLT2012
- SELECT TOP(10) SalesOrderID,CONVERT(nvarchar,unitprice) +' KM' 'Cijena',CONVERT(nvarchar,OrderQty)+' kom.' 'Kolicina', ROUND((UnitPrice*OrderQty),2)'Ukupno'
- FROM SalesLT.SalesOrderDetail
- ORDER BY Ukupno DESC
Advertisement
Add Comment
Please, Sign In to add comment