Advertisement
MagnusArias

BD | tymczasowe zmienne i tabele

May 9th, 2016
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 6.78 KB | None | 0 0
  1. Ćwiczenie 1.
  2. Utwórz tabelę tymczasową lokalną o nazwie #Dane przechowującą id użytkownika w postaci klucza podstawowego (typ
  3. danych jako liczba całkowita) oraz nazwisko. Wstaw do utworzonej tabeli kilka rekordów. Sprawdź za pomocą polecenia
  4. SELECT, czy dane zostały w tabeli umieszczone. Usuń z tabeli tymczasowej #Dane wszystkie dane. Sprawdź za pomocą
  5. polecenia SELECT, czy tabela nie zawiera żadnych danych. Usuń tabelę tymczasową #Dane.
  6. Ćwiczenie 2.
  7. Utwórz tabelę tymczasową lokalną o nazwie #KlienciTemp1, która będzie posiadała taką samą strukturę jak tabela Klienci
  8. oraz przechowywała te same dane. Sprawdź za pomocą polecenia SELECT, czy tabela tymczasowa zawiera te same dane co
  9. tabela Klienci.
  10. Ćwiczenie 3.
  11. Utwórz tabelę tymczasową lokalną o nazwie #KlienciTemp2, która będzie posiadała kolumny: Nazwisko, Imie, zasilone
  12. danymi z tabeli Klienci. Sprawdź za pomocą polecenia SELECT, czy tabela tymczasowa zawiera te same imiona i nazwiska
  13. osób, co tabela Klienci.
  14. Ćwiczenie 4.
  15. Utwórz tabelę tymczasową o nazwie #OsobyWybrane przechowującą imię i nazwisko pracownika, jego wynagrodzenie brutto
  16. i nazwę działu, pracującego w dziale ‘Handlowy’ lub ‘Techniczny’ zarabiającego powyżej 4000 brutto.
  17. ZMIENNE LOKALNE
  18. Ćwiczenie 5
  19. Zadeklaruj zmienną lokalną o nazwie id i przypisz jej wartość 5. Wybierz z tabeli Klienci dane klienta o idKlienta równym
  20. wartości zmiennej lokalnej id.
  21. Ćwiczenie 6
  22. Zadeklaruj zmienną o nazwie avgzarobki i przypisz jej wartość w postaci średniego wynagrodzenia pracowników. Wyświetl
  23. wartość zmiennej.
  24. Ćwiczenie 7
  25. Zadeklaruj zmienne o nazwach: minimum i maksimum, każdej z nich przypisz odpowiednio najniższe i najwyższe
  26. wynagrodzenie pracowników. Wyświetl wartość zmiennej.
  27. Ćwiczenie 8
  28. Zadeklaruj zmienną lokalną typu tablicowego o nazwie tab i o kolumnie nazwisko, imie, rokUrodz i umieść w niej dane osób
  29. urodzonych w 1948 roku. Wyświetl wartość zmiennej tablicowej.
  30. Ćwiczenie 9
  31. Utwórz zmienną tablicową przechowującą nazwisko, imię nazwę miasta oraz liczbę faktur klienta. Do zmiennej tej wpisz
  32. rekordy pobrane z bazy RelacyjnaBaza: nazwiska i imiona klientów pochodzących z miasta, którego nazwa rozpoczyna się na
  33. literę K wraz z liczbą faktur, jakie zostały na nich wystawione. Wyświetl dane pobrane ze zmiennej tablicowej.
  34. (zastosuj złączenie tabel – JOIN; wyrażenie regularne z LIKE, aby pobrać odpowiednie nazwy miast oraz funkcję agregacyjną
  35. COUNT do pobrania liczby faktur)
  36. Ćwiczenie 10
  37. Utwórz zmienną tablicową przechowującą nazwę miasta oraz liczbę faktur klientów. Do zmiennej tej wpisz rekordy pobrane z
  38. bazy RelacyjnaBaza: miasta, których nazwy rozpoczynają się na literę K wraz z liczbą faktur, jakie zostały wystawione dla
  39. klientów pochodzących z tych miast. Wyświetl dane pobrane ze zmiennej tablicowej.
  40. (zastosuj złączenie tabel – JOIN; wyrażenie regularne z LIKE, aby pobrać odpowiednie nazwy miast oraz funkcję agregacyjną
  41. COUNT do pobrania liczby faktur)
  42. Porównaj wyniki otrzymane w ćwiczeniu 9
  43. Ćwiczenie 11
  44. Zadeklaruj zmienną tablicową przechowującą miasto, nazwisko i imię klienta. Przypisz do niej rekordy pochodzące z danymi
  45. klientów (tabele:Klienci, Miasta). Tabela tymczasowa musi zawierać nazwiska i imiona klientów zapisane małymi literami ale
  46. rozpoczynające się wielką literą( użyj funkcji systemowej SUBSTRING, UPPER i LOWER).
  47. Spróbuj wykonać TO samo ćwiczenie, ale przypisując dane do tabeli tymczasowej zamiast zmiennej tablicowej.
  48.  
  49. Cw. 1
  50. CREATE TABLE #Dane
  51. (
  52.     id INT PRIMARY KEY,
  53.     nazwisko VARCHAR(50)
  54. );
  55.  
  56. INSERT INTO #Dane VALUES(1,'kowalski');
  57. INSERT INTO #Dane VALUES(2,'jan');
  58. INSERT INTO #Dane VALUES(3,'stefan');
  59. INSERT INTO #Dane VALUES(4,'kkjusdkqwa');
  60.  
  61. SELECT * FROM #Dane;
  62. DELETE FROM #Dane;
  63. SELECT * FROM #Dane;
  64. DROP TABLE #Dane;
  65.  
  66. Ćw. 2
  67. SELECT * INTO #KlienciTemp1 FROM Klienci;
  68. SELECT * FROM #KlienciTemp1;
  69.  
  70. Ćw. 3
  71. SELECT Nazwisko, Imie INTO #KlienciTemp6 FROM Klienci;
  72. SELECT * FROM #KlienciTemp6;
  73.  
  74. Ćw. 4
  75. SELECT s.Imie, s.Nazwisko, s.Brutto, s.Opis
  76. INTO #OsobyWybrane FROM
  77. (
  78.     SELECT o.Imie, o.Nazwisko, z.Brutto, d.Opis FROM Osoby o
  79.     JOIN Zarobki z ON z.IdOsoby=o.idOsoby
  80.     JOIN Dzialy d ON d.IdDzialu=o.IdDzialu
  81.     WHERE d.Opis IN ('Handlowy','Techniczny') AND z.Brutto >4000
  82. ) s;
  83.  
  84. SELECT * FROM #OsobyWybrane;
  85.  
  86. Ćw. 5
  87. DECLARE @id INT;
  88. SET @id = 5;
  89. SELECT * FROM Klienci WHERE IdKlienta = @id;
  90.  
  91. Ćw. 6
  92. DECLARE @avgzarobki money;
  93. SELECT @avgzarobki = AVG(brutto) FROM Zarobki;
  94. SELECT @avgzarobki;
  95.  
  96. Ćw. 7
  97. DECLARE @minimum INT, @maksimum INT;
  98. SELECT @minimum = MIN(Brutto), @maksimum = MAX(Brutto) FROM Zarobki;
  99. SELECT @minimum, @maksimum;
  100.  
  101. Ćw. 8
  102. DECLARE @tab TABLE
  103. (
  104.     nazwisko VARCHAR(60),
  105.     imie VARCHAR(20),
  106.     rokUrodz INT
  107. )
  108.  
  109. INSERT INTO @tab
  110.     SELECT Nazwisko, Imie, RokUrodz FROM Osoby o
  111.     WHERE RokUrodz = 1948;
  112.  
  113. SELECT * FROM @tab;
  114.  
  115.  
  116.  
  117. -------------------------------------------------------
  118. CREATE TABLE #tab1
  119. (
  120.     id INT PRIMARY KEY,
  121.     nazwa VARCHAR(50)
  122. );
  123.  
  124. INSERT INTO #tab1 VALUES (1,'lampa');
  125.  
  126. CREATE TABLE #tab2
  127. (
  128.     id INT PRIMARY KEY IDENTITY(1,1),
  129.     nazwa VARCHAR(50)
  130. );
  131.  
  132. INSERT INTO #tab2(nazwa) VALUES ('karny');
  133. INSERT INTO #tab2(nazwa) VALUES ('kasztan');
  134.  
  135. SELECT * FROM #tab2;
  136.  
  137. SELECT NazwaTowaru INTO #tab3 FROM Towar;
  138. DROP TABLE #tab2;
  139.  
  140. SELECT * FROM #tab3 ORDER BY NazwaTowaru;
  141.  
  142. UPDATE #tab3
  143. SET NazwaTowaru='Nowy'
  144. WHERE NazwaTowaru='Fizyka';
  145.  
  146. DECLARE @a INT;
  147. SET @a = 25;
  148. SELECT @a;
  149.  
  150. DECLARE @a VARCHAR(150);
  151. SET @a = 'Kowalski';
  152. SELECT @a;
  153.  
  154. DECLARE @liczba INT, @imie VARCHAR(20);
  155. SET @liczba = 23;
  156. SET @imie ='Małgorzata';
  157.  
  158. SELECT @liczba, @imie;
  159.  
  160. DECLARE @tab TABLE
  161. (
  162.     id INT, imie VARCHAR(20)
  163. )
  164. INSERT INTO @tab
  165. SELECT idOsoby, imie FROM Osoby;
  166.  
  167. DECLARE @id INT;
  168. SELECT @id=MAX(idosoby) FROM Gracze;
  169.  
  170. DECLARE @tab TABLE
  171. (id INT, imie VARCHAR(20));
  172. INSERT INTO @tab
  173. SELECT idOsoby, imie FROM Osoby;
  174. INSERT INTO @tab VALUES (634,'ANNA');
  175. SELECT * FROM @tab;
  176.  
  177. /*len (col1)
  178. upper(col1)
  179. lower(col1)
  180. substring(col1,ind1,lenString)*/
  181.  
  182. SELECT SUBSTRING(Nazwisko,1,4),Nazwisko FROM Osoby;
  183.  
  184. Ćw. 9
  185. DECLARE @tab TABLE
  186. (
  187.     nazwisko VARCHAR(50),
  188.     imie VARCHAR(40),
  189.     miasto VARCHAR(40),
  190.     liczba_faktur INT
  191. )
  192. INSERT INTO @tab
  193.     SELECT k.Nazwisko, k.Imie, m.Miasto, COUNT(f.IdKlienta) FROM Klienci k
  194.     JOIN Miasta m ON k.IdMiasta = m.IdMiasta
  195.     JOIN Faktury f ON k.IdKlienta = f.IdKlienta
  196.     WHERE m.Miasto LIKE 'K%'
  197.     GROUP BY k.IdKlienta, k.Nazwisko, k.Imie, m.Miasto
  198.  
  199. SELECT * FROM @tab;
  200.  
  201. ćw. 10
  202. DECLARE @tab TABLE
  203. (
  204.     miasto VARCHAR(40),
  205.     liczba_faktur INT
  206. )
  207. INSERT INTO @tab
  208.     SELECT m.Miasto, COUNT(f.IdKlienta) FROM Klienci k
  209.     JOIN Miasta m ON k.IdMiasta = m.IdMiasta
  210.     JOIN Faktury f ON k.IdKlienta = f.IdKlienta
  211.     WHERE m.Miasto LIKE 'K%'
  212.     GROUP BY  m.Miasto
  213. SELECT * FROM @tab
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement