Advertisement
Rayne_47

Do poprzednich zajeć - OSOBY, KIEROWNICY, STANOWISKA ETC.

Dec 1st, 2014
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.33 KB | None | 0 0
  1.    -- od strony 10 zapytan
  2.    -- to_char(d_ur, 'YYYY') = '1980'
  3.    -- to_char(d_ur, 'MM') = '07'
  4.    -- to_char(d_ur, 'day' ) = 'czwartek'
  5.    -- wiek floor (months_between(sysdate, d_ur)/12)
  6.    -- floor (50.6) = 50
  7.    
  8.    SELECT id_os, nazwisko, imie1
  9.    FROM osoby
  10.    WHERE to_char(d_ur, 'YYYY') = '1978'
  11.    ORDER BY 2 ASC, 3 ASC;
  12.    
  13.    SELECT nazwisko, imie1, imie2
  14.    FROM osoby
  15.    WHERE to_char(d_ur, 'DD/MM') = '12/06';
  16.    
  17.    SELECT nazwisko, imie1, imie2, d_ur
  18.    FROM osoby
  19.    WHERE to_char(d_ur, 'MM') = '05';
  20.    
  21.    SELECT nazwisko
  22.    FROM osoby
  23.    WHERE d_ur BETWEEN to_date('15/02/1963', 'DD/MM/YYYY') AND to_date('01.10.1965', 'DD/MM/YYYY');
  24.    
  25.    SELECT id_os
  26.    FROM osoby
  27.    WHERE (nazwisko = 'KULA' OR nazwisko = 'MUREK') AND d_ur < to_date('11/1975', 'MM/YYYY');
  28.    
  29.    SELECT *
  30.    FROM osoby
  31.    WHERE to_number(to_char(d_ur, 'YYYY')) BETWEEN 1980 AND 1990;
  32.    
  33.    SELECT to_char(d_ur, 'day') AS "DZIEŃ TYGODNIA" FROM osoby WHERE nazwisko = 'LIS' AND plec = 'M';
  34.    
  35.    SELECT nazwisko, FLOOR(months_between(sysdate, d_ur) / 12) AS wiek FROM osoby
  36.    ORDER BY 2 ASC;
  37.    
  38.    SELECT imie1, nazwisko,  
  39.    CASE plec
  40.    WHEN 'K' THEN 'KOBIETA'
  41.    WHEN 'M' THEN 'MĘŻCZYZNA'
  42.    END AS "PŁEĆ" FROM osoby;
  43.    
  44.    -- select imie1, imie2, nazwisko
  45.    -- ZROBIĆ OSTATNI PUNKT I PRACĘ DOMOWĄ
  46.    
  47.    -- FUNKCJE AGREGUJĄCE (grupujące)
  48.    -- MIN
  49.    -- MAX
  50.    -- SUM
  51.    -- AVG
  52.    -- COUNT
  53.    
  54.    SELECT COUNT(IMIE2)
  55.    FROM osoby;
  56.    -- to samo co
  57.    SELECT COUNT(id_os)
  58.    FROM osoby
  59.    WHERE imie2 IS NOT NULL;
  60.  
  61.    -- zapytania cwiczenia 2
  62.    SELECT MAX(pensja)
  63.    FROM zatrudnienia;
  64.    
  65.    SELECT MAX(pensja), MIN(pensja)
  66.    FROM zatrudnienia;
  67.    
  68.    SELECT MAX(pensja) - MIN(pensja)
  69.    FROM zatrudnienia;
  70.    
  71.    SELECT avg(pensja)
  72.    FROM zatrudnienia
  73.    WHERE do IS NULL;
  74.    
  75.    SELECT to_char(round(avg(pensja), 2)) AS "Aktualna średnia pensja"
  76.    FROM zatrudnienia
  77.    WHERE do IS NULL;
  78.    
  79.    SELECT MAX(pensja), MIN(pensja), avg(pensja)
  80.    FROM zatrudnienia
  81.    WHERE do IS NULL AND id_w = 1;
  82.    
  83.    -- select to_char(min(d_ur), 'DD  as "Najwcześniejsza data", max(d_ur) as "Najpóźniejsza data"
  84.    
  85.    
  86.    -- żeby wyświetlić zwyklą kolumnę, gdy mamy funkcję agregorującą, musimy ją np. zgrupować
  87.    SELECT id_w, avg(pensja)
  88.    FROM zatrudnienia
  89.    GROUP BY id_w
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement