Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE BD1d_pn_1B
- GO
- /*1 Lista adresowa pracowników wg. wzoru: (imie, nazwsiko), (adres, miasto (kraj))*/
- SELECT Imię+' '+Nazwisko Pracownik,Adres+', '+ Miasto + ' ('+Kraj+')' [Adres pracownika]
- FROM Pracownicy
- ORDER BY Nazwisko, Imię, Kraj, Miasto
- /*2a Przykład złączenia bez "warunku złączenia ----> iloczyn kartezjański*/
- SELECT p.Imię, p.Nazwisko, k.NazwaKategorii
- FROM Kategorie k, Pracownicy p
- ORDER BY p.Nazwisko, p.Imię, k.NazwaKategorii;
- /*2b Przykład złączenia bez "warunku złączenia ----> iloczyn kartezjański*/
- SELECT p1.Imię, p2.Nazwisko
- FROM Pracownicy p1, Pracownicy p2;
- /*3a Przykład złączenia z "warunkiem złączenia w klauzuli WHERE ----> SQL92*/
- SELECT p.IDpracownika, p.Imię, p.Nazwisko, k.NazwaKategorii + ' ('+CAST(k.IDkategorii AS nvarchar)+')'
- FROM Kategorie k, Pracownicy p
- WHERE k.IDkategorii=p.IDpracownika
- ORDER BY k.NazwaKategorii, p.Nazwisko;
- /*3b Przykład złączenia JOIN z "warunkiem złączenia" w klauzuli ON ----> MSSQL*/
- SELECT p.IDpracownika, p.Imię, p.Nazwisko, k.NazwaKategorii + ' ('+CAST(k.IDkategorii AS nvarchar)+')'
- FROM Kategorie k INNER JOIN Pracownicy p ON k.IDkategorii=p.IDpracownika
- ORDER BY k.NazwaKategorii, p.Nazwisko;
- /*4 - produkt (kategoria), Cena*/
- SELECT p.NazwaProduktu+' ('+k.NazwaKategorii+') ' [Produkt (kategoria)], p.CenaJednostkowa [Cena produktu]
- FROM Produkty p INNER JOIN Kategorie k ON p.IDkategorii=k.IDkategorii
- ORDER BY p.CenaJednostkowa DESC
- /*5a - produkt (kategoria), Cena, gdzie cena z przedzialu [55,97] lub produkty których brak w magazynie*/
- SELECT p.NazwaProduktu+' ('+k.NazwaKategorii+') ' [Produkt (kategoria)], p.CenaJednostkowa [Cena produktu],
- p.StanMagazynu [Stan magazynu]
- FROM Produkty p INNER JOIN Kategorie k ON p.IDkategorii=k.IDkategorii
- WHERE (p.CenaJednostkowa BETWEEN 55 AND 97) OR (p.StanMagazynu=0)
- ORDER BY [Cena produktu]
- /*5b - produkt (kategoria), Cena, gdzie cena z przedzialu [55,97] lub produkty których brak w magazynie*/
- SELECT p.NazwaProduktu+' ('+k.NazwaKategorii+') ' [Produkt (kategoria)], p.CenaJednostkowa [Cena produktu],
- p.StanMagazynu [Stan magazynu]
- FROM Produkty p, Kategorie k
- WHERE ( p.IDkategorii=k.IDkategorii) AND ((p.CenaJednostkowa BETWEEN 55 AND 97) OR (p.StanMagazynu=0))
- ORDER BY [Cena produktu]
- /*5c - produkt (kategoria), Cena, gdzie cena z przedzialu [55,97] lub produkty których brak w magazynie*/
- SELECT p.NazwaProduktu+' ('+k.NazwaKategorii+') ' [Produkt (kategoria)], p.CenaJednostkowa [Cena produktu],
- p.StanMagazynu [Stan magazynu], z.IDzamówienia, z.DataZamówienia
- FROM Produkty p, Kategorie k, PozycjeZamówienia pz, Zamówienia z
- WHERE (p.IDkategorii=k.IDkategorii) AND (p.IDproduktu=pz.IDproduktu)
- AND (z.IDzamówienia=pz.IDzamówienia)
- AND ((p.CenaJednostkowa BETWEEN 55 AND 97) OR (p.StanMagazynu=0))
- ORDER BY [Cena produktu]
- /*7a-lista szefów*/
- SELECT DISTINCT p2.IDpracownika,p2.Stanowisko,p2.imię,p1.Szef
- FROM Pracownicy p1 INNER JOIN Pracownicy p2 ON p1.Szef=p2.IDpracownika
- SELECT *
- FROM Pracownicy
- /*7b-lista pracowników dla wskazanego szefa*/
- SELECT DISTINCT p1.IDpracownika, p1.Imię, p1.Nazwisko
- FROM Pracownicy p1
- WHERE Szef=2
- /*7c-lista pracowników i ich szefów*/
- SELECT
- FROM Pracownicy s, Pracownicy p
- WHERE s.IDpracownika=p.Szef
- /*7d-lista pracowników szefa nr np. 2 ---> SQL92 */
- /*7d2-lista pracowników szefa nr np. 2 - wprowadzamy złączenie wewnętrzne INNER JOIN */
- /*8 - lista produktów(kategoria) i cen */
- SELECT
- /*9 - Lista zamówień (ID zamówienia) z nazwami klientów (nazwa firmy)*/
- /*10 - Lista dostawców (nazwa dostawcy i kraj) oraz nazwa produktu */
- /*11 - Lista klientów i daty ich zamówień */
- /*12 - Lista kategorii z (nazwami dostawców) */
- /*13 - Lista zamówień produktów z (krajem dostawcy produktu) */
- /*14 - Dane typu: Klient-Pracownik na podstawie analizy zamówień*/
- /*15 - Przygotować dane faktury do zamówienia nr .... */
- /*16 - Sprawdzić, czy istnieją takie same miasta wśród adresów pracowników i klientów */
- /*17 - Sprawdzić, czy istnieją takie same miasta wśród adresów pracowników, dostawców i klientów */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement