Manipulowanie danymi w SQL-u Oracle

sierpień 3rd, 2008

DML - Data Manipulation Language to język służy do manipulowania danymi:

INSERT wstawianie nowych wierszy do tabeli, wiadomo że w każde przedsiębiorstwo, firma jeżeli się rozwija to zwiększa ilość danych które musi przechowywać, a jak są systemy które wpisują te dane do bazy to i w bazie przybywa danych, jednym ze sposobów zasilenia bazy danych danymi jest wstawienie danych przez INSERT;

UPDATE - to polecenie służy do zmiany danych które są już w bazie danych, przykładem może być zmiana nazwiska Pań które zmieniły je w wyniku wyjścia za mąż, lub np. w wyniku co rocznych podwyżek ulegają zmianie podstawy pensji pracowników wszystkich lub wybranych, i do tego musimy użyć polecenia UPDATE

DELETE - to polecenie służy do wykasowania danych z tabel w bazach danych, przykład: pracownicy w firmach często zmieniają pracodawce więc po pewnym czasie dane pracowników którzy już nie pracują są już nie potrzebne więc można je wykasować, lub inny przypadek w firmach których jest dużo nowych danych, te dane trafiają do bazy i w wyniku tego działania baza bardzo szybko sie rozrasta w wyniku tego rozrastania bardzo często baza staje się mniej wydajna a także w pewnym momencie może zabraknąć fizycznego miejsca na dyskach i w takim przypadku powinno się robić czyszczenie bazy danych tzw. PURGE do tego właśnie możemy wykorzystać komendę DELETE

Funkcje CASE i DECODE w Oracle

sierpień 3rd, 2008

Funkcja CASE działa tak że porównuje wartość kolumny z wyrażeniem i jeżeli jest spełnione to robi działanie na  kolumnie jeżeli nie to inne, jeżeli nie spełnia żadnego warunku wtedy zwraca wartość która jest, tego typu funkcje  możemy używać np. do wyświetlania, różnego zwiększania pensji w zależności od stażu przykład jak poniżej:

select imie, nazwisko, data_zatrudnienia, pensja from pensje
CASE WHEN data_zatrudnienia< to_date(’01-Mar-2001′) THEN pensja*1,2
WHEN data_zatrudnienia>= to_date(’01-Mar-2001′) THEN pensja*1,1
ELSE pensja*1,02 END
from pensje;

wytłumaczenie:

jeżeli pracownik został zatrudniony przed 1 marca 2001 dostaje 20% podwyżki, jezeli po to tylko 10% w  innym przypadku 2% (hipotetycznie) ponieważ dwa wcześniejsze warunki powinny pokryć całość.

jeżeli chcemy podwyższyć pensje ale nie pod kontem datay zatrudnienia a np. stanowiska to wtedy używamy funkcji DECODE

przykład:

select imie, nazwiko, pensja,
DECODE (stanowisko, ‘dyrektor’, pensja*1.4,
‘kierownik’, pensja*1.2,
pensja*1,05) from pensje;

tutaj sprawa prosta dla dyrektorów dajemy 40% podwyżki dla kierowników 20% a dla pozostałych 5%

Funkcje dla wartości NULL w Oracle

sierpień 3rd, 2008

Ta funkcja umożliwia podstawienie innej wartości jeżeli w kolumnie wystąpi wartość NULL.

np.

chcemy wyświetlić  wszystkie prowizje i przeglądamy kolumnę prowizję i się okazało że tam gdzie nie ma prowizji są wartości NULL a w  przypadku jakiś operacji matematycznych na tej kolumnie, w wyniku tego naliczania zapytanie zwróci błąd, dlatego  musimy najpierw podstawić np. 0 (zero) w miejsca gdzie są wartości NULL, do tego celu służy funkcja NVL, zapytanie będzie  wyglądało następująco select nvl(prowizja, 0) from pensja;

- to zapytanie spowoduje że tam gdzie nie ma wartości  prowizji czyli jest NULL tam zostanie wyświetlone 0 (zero).

I przykład z działaniami matematycznymi na kolumnie z wartościami  NUL.

select nvl(prowizja, 0) * 0,10 from pensje;

Jest też funkcja NVL2 która w przypadku kiedy wartość jest NULL zwraca wartość tej lub innej kolumny natomiast jak nie  jest null to wykonuje pierwszą operacje, najlepiej wyjaśnić to na przykładzie:

select imie, NVL2(prowizja,  pensja+prowizja, pensja) from pracownicy;

- czyli jak w tabeli pracownicy kolumna prowizja jest NULL to wtedy pokazuje wartość pensja

a jeżeli prowizja nie jest NULL pokazuje wartość pensja+prowizja czyli pensja + prowizja.

Funkcje MIN, MAX, AVG, RANK, PERCENT_RANK, DENDE_RANK, STDDEV

sierpień 3rd, 2008

Funkcje MIN, MAX, AVG służą do wyszukiwania wartości minimalnej, maksymalnej, średniej

np.

jeżeli chcemy wyświetlić  min, max, avg pensje dla sprzedawców, to wtedy piszemy

select min(pensja), max(pensja), avg(pensja) from pensje where  stanowisko=’sprzedawca’;

Możemy także zrobić zapytanie które wyświetli nam min, max i avg pensje pogrupowane po  stanowiskach.

przykład:

select min(pensja), max(pensja), avg(pensja) from pensje order by stanowisko;

możemy ograniczyć jeszcze powyższe zapytanie dodając warunek że minimalna pensja wynosi 4000 i wtedy do zapytania  dokładamy

having min(pensja) >4000

całe zapytanie będzie wyglądało w następujący sposób:

select min(pensja), max(pensja), avg(pensja) from pensje order by stanowisko having min(pensja) > 4000;

Funkcje grupujące group by

lipiec 11th, 2008

Do funkcji grupujących zaliczamy następujące funkcje:

AVG - średnia,

COUNT - zliczanie, ile,

MAX, MIN, DENSE_RANKPERCENT_RANK, RANK, STDDEV i SUM.

count(*) - zliczanie, np. jeżeli chcemy zliczyć ilość wierszy w tabeli wtedy używamy count(*) przykład: chcemy zliczyć  ile mężczyzn pracuje w firmie to wtedy robimy zapytanie

select count(*) from pracownicy where plec=’M';

zapytanie  zwróci liczbę np. 150 . lub

select count(*) from odzialy;

to zapytanie poda nam ile jest wszystkich wierszy w tabeli .

Jeżeli chcemy policzyć ile jest wierszy ale w grupach to wtedy używamy dodatkowo group by i przykładowe zapytanie  będzie wyglądało następująco:

select plec, count(*) from pracownicy group by plec;

to zapytanie zwróci liczbę mężczyzn  i liczbe kobiet w tabeli pracownicy przykład wyniku:

M 150
K 109

czyli jak widzimy zliczyło w grupach grupami są tu rodzaje płci.

Możemy także zliczać tylko wartości nie zerowe (not NULL) w kolumnie i wtedy zamiast * podajemy nazwę kolumny  przykład:

select count(prowizja) from płatnosci;

Możemy także zliczyć ile rodzajów np. mebli jest w tabeli meble

select count(DISTINCT(rodzaj_meble)) from meble;

w kolumnie rodzaj_meble są takie wartości jak: krzesło, wersalka, stol, fotele i inne.


telewizory lcd - katalog.pozycjonowanie - krutynia wypożyczalnia kajaków - Motywacja - oasis tours opinie - wiertarki - Filmy online bez limitu - Katalog 4real.pl:.. - rozdwojone końcówki - klimakterium u kobiet - długopisy reklamowe - Milionerzy - Tanie materiały budowlane - remonty warszawa