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
Tags: baza danych, data manipulation language, delete, DML, insert, insert oracle, kasowanie danych, kasowanie danych z tabeli, manipulowanie danymi, modyfikowanie danych w tabeli, oracle DML, oracle purge, oracle update, polecenie delete, polecenie insert, polecenie update, update, wstawianie danych do tabeli
Posted in manipulowanie danymi | No Comments »
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%
Tags: case funkcja, case oracle, decode fukcja, decode oracle, funkcja case, funkcja decode, funkcje case, funkcje decode, select case, select decode
Posted in Funkcje CASE i DECODE | No Comments »
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.
Tags: funkcja NVL, funkcja NVL2, funkcje dla wartości NULL, Null w Oracle, NVL dla NULL, NVL funkcja, NVL2 funkcja, NVL2 oracle, select nvl, wartość NULL
Posted in Null w Oracle | No Comments »
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;
Tags: funkcja avg oracle, funkcja dende_rank oracle, funkcja max oracle, funkcja percent_rank oracle, funkcja rank oracle, funkcja stddev oracle, funkcje min oracle
Posted in funkcje oracle | No Comments »
lipiec 11th, 2008
Do funkcji grupujących zaliczamy następujące funkcje:
AVG - średnia,
COUNT - zliczanie, ile,
MAX, MIN, DENSE_RANK, PERCENT_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.
Tags: , avg, count, DENSE_RANK, funkcja grupująca, Funkcje grupujące, group by, ilosc wierszy w tabeli, max, MIN, nazwa kolumny, not null, PERCENT_RANK, RANK, STDDEV, SUM, wartość not null, wiersze w tabeli, zapytanie, zliczanie wierszy
Posted in funkcja grupująca | No Comments »