<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Oracle SQL</title>
	<link>http://oracle.sql.waw.pl</link>
	<description>Blog o SQL Oracle</description>
	<pubDate>Sat, 18 Apr 2009 05:44:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Manipulowanie danymi w SQL-u Oracle</title>
		<link>http://oracle.sql.waw.pl/2008/08/03/manipulowanie-danymi-w-sql-u-oracle/</link>
		<comments>http://oracle.sql.waw.pl/2008/08/03/manipulowanie-danymi-w-sql-u-oracle/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 11:42:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[manipulowanie danymi]]></category>

		<category><![CDATA[baza danych]]></category>

		<category><![CDATA[data manipulation language]]></category>

		<category><![CDATA[delete]]></category>

		<category><![CDATA[DML]]></category>

		<category><![CDATA[insert]]></category>

		<category><![CDATA[insert oracle]]></category>

		<category><![CDATA[kasowanie danych]]></category>

		<category><![CDATA[kasowanie danych z tabeli]]></category>

		<category><![CDATA[modyfikowanie danych w tabeli]]></category>

		<category><![CDATA[oracle DML]]></category>

		<category><![CDATA[oracle purge]]></category>

		<category><![CDATA[oracle update]]></category>

		<category><![CDATA[polecenie delete]]></category>

		<category><![CDATA[polecenie insert]]></category>

		<category><![CDATA[polecenie update]]></category>

		<category><![CDATA[update]]></category>

		<category><![CDATA[wstawianie danych do tabeli]]></category>

		<guid isPermaLink="false">http://oracle.sql.waw.pl/2008/08/03/manipulowanie-danymi-w-sql-u-oracle/</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p><strong>DML</strong> - <font color="#ff0000">Data Manipulation Language</font> to język służy do manipulowania danymi:</p>
<p><strong>INSERT</strong> 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;</p>
<p><strong>UPDATE</strong> - 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</p>
<p><strong>DELETE</strong> - 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</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://oracle.sql.waw.pl/2008/08/03/manipulowanie-danymi-w-sql-u-oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Funkcje CASE i DECODE w Oracle</title>
		<link>http://oracle.sql.waw.pl/2008/08/03/funkcje-case-i-decode-w-oracle/</link>
		<comments>http://oracle.sql.waw.pl/2008/08/03/funkcje-case-i-decode-w-oracle/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 11:35:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Funkcje CASE i DECODE]]></category>

		<category><![CDATA[case funkcja]]></category>

		<category><![CDATA[case oracle]]></category>

		<category><![CDATA[decode fukcja]]></category>

		<category><![CDATA[decode oracle]]></category>

		<category><![CDATA[funkcja case]]></category>

		<category><![CDATA[funkcja decode]]></category>

		<category><![CDATA[funkcje case]]></category>

		<category><![CDATA[funkcje decode]]></category>

		<category><![CDATA[select case]]></category>

		<category><![CDATA[select decode]]></category>

		<guid isPermaLink="false">http://oracle.sql.waw.pl/2008/08/03/funkcje-case-i-decode-w-oracle/</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>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:</p>
<p><font color="#993366">select imie, nazwisko, data_zatrudnienia, pensja from pensje<br />
CASE WHEN data_zatrudnienia&lt; to_date(&#8217;01-Mar-2001&#8242;) THEN pensja*1,2<br />
WHEN data_zatrudnienia&gt;= to_date(&#8217;01-Mar-2001&#8242;) THEN pensja*1,1<br />
ELSE pensja*1,02 END<br />
from pensje;</font></p>
<p>wytłumaczenie:</p>
<p>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ść.</p>
<p>jeżeli chcemy podwyższyć pensje ale nie pod kontem datay zatrudnienia a np. stanowiska to wtedy używamy funkcji DECODE</p>
<p>przykład:</p>
<p><font color="#993366">select imie, nazwiko, pensja,<br />
DECODE (stanowisko, &#8216;dyrektor&#8217;, pensja*1.4,<br />
&#8216;kierownik&#8217;, pensja*1.2,<br />
pensja*1,05) from pensje;</font></p>
<p>tutaj sprawa prosta dla dyrektorów dajemy 40% podwyżki dla kierowników 20% a dla pozostałych 5%</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://oracle.sql.waw.pl/2008/08/03/funkcje-case-i-decode-w-oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Funkcje dla wartości NULL w Oracle</title>
		<link>http://oracle.sql.waw.pl/2008/08/03/funkcje-dla-wartosci-null-w-oracle/</link>
		<comments>http://oracle.sql.waw.pl/2008/08/03/funkcje-dla-wartosci-null-w-oracle/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 11:30:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Null w Oracle]]></category>

		<category><![CDATA[funkcja NVL]]></category>

		<category><![CDATA[funkcja NVL2]]></category>

		<category><![CDATA[funkcje dla wartości NULL]]></category>

		<category><![CDATA[NVL dla NULL]]></category>

		<category><![CDATA[NVL funkcja]]></category>

		<category><![CDATA[NVL2 funkcja]]></category>

		<category><![CDATA[NVL2 oracle]]></category>

		<category><![CDATA[select nvl]]></category>

		<category><![CDATA[wartość NULL]]></category>

		<guid isPermaLink="false">http://oracle.sql.waw.pl/2008/08/03/funkcje-dla-wartosci-null-w-oracle/</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Ta funkcja umożliwia podstawienie innej wartości jeżeli w kolumnie wystąpi wartość NULL.</p>
<p>np.</p>
<p>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;</p>
<p>- to zapytanie spowoduje że tam gdzie nie ma wartości  prowizji czyli jest NULL tam zostanie wyświetlone 0 (zero).</p>
<p>I przykład z działaniami matematycznymi na kolumnie z wartościami  NUL.</p>
<p><font color="#993366">select nvl(prowizja, 0) * 0,10 from pensje;</font></p>
<p>Jest też <strong>funkcja NVL2 </strong>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:</p>
<p><font color="#993366">select imie, NVL2(prowizja,  pensja+prowizja, pensja) from pracownicy;</font></p>
<p>- czyli jak w tabeli pracownicy kolumna prowizja jest NULL to wtedy pokazuje wartość pensja</p>
<p>a jeżeli prowizja nie jest NULL pokazuje wartość pensja+prowizja czyli pensja + prowizja.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://oracle.sql.waw.pl/2008/08/03/funkcje-dla-wartosci-null-w-oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Funkcje MIN, MAX, AVG, RANK, PERCENT_RANK, DENDE_RANK, STDDEV</title>
		<link>http://oracle.sql.waw.pl/2008/08/03/funkcje-min-max-avg-rank-percent_rank-dende_rank-stddev/</link>
		<comments>http://oracle.sql.waw.pl/2008/08/03/funkcje-min-max-avg-rank-percent_rank-dende_rank-stddev/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 11:20:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[funkcje oracle]]></category>

		<category><![CDATA[funkcja avg oracle]]></category>

		<category><![CDATA[funkcja dende_rank oracle]]></category>

		<category><![CDATA[funkcja max oracle]]></category>

		<category><![CDATA[funkcja percent_rank oracle]]></category>

		<category><![CDATA[funkcja rank oracle]]></category>

		<category><![CDATA[funkcja stddev oracle]]></category>

		<category><![CDATA[funkcje min oracle]]></category>

		<guid isPermaLink="false">http://oracle.sql.waw.pl/2008/08/03/funkcje-min-max-avg-rank-percent_rank-dende_rank-stddev/</guid>
		<description><![CDATA[
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=&#8217;sprzedawca&#8217;;
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 [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Funkcje <strong><font color="#ff0000">MIN</font></strong>, <font color="#ff0000"><strong>MAX</strong></font>, <font color="#ff0000"><strong>AVG</strong></font> służą do wyszukiwania wartości minimalnej, maksymalnej, średniej</p>
<p>np.</p>
<p>jeżeli chcemy wyświetlić  min, max, avg pensje dla sprzedawców, to wtedy piszemy</p>
<p><font color="#993366"><em>select min(pensja), max(pensja), avg(pensja) from pensje where  stanowisko=&#8217;sprzedawca&#8217;;</em></font></p>
<p>Możemy także zrobić zapytanie które wyświetli nam min, max i avg pensje pogrupowane po  stanowiskach.</p>
<p>przykład:</p>
<p><font color="#993366"><em>select min(pensja), max(pensja), avg(pensja) from pensje order by stanowisko;</em></font></p>
<p>możemy ograniczyć jeszcze powyższe zapytanie dodając warunek że minimalna pensja wynosi 4000 i wtedy do zapytania  dokładamy</p>
<p><font color="#993366">having min(pensja) &gt;4000</font></p>
<p>całe zapytanie będzie wyglądało w następujący sposób:</p>
<p><font color="#993366">select min(pensja), max(pensja), avg(pensja) from pensje order by stanowisko having min(pensja) &gt; 4000;</font></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://oracle.sql.waw.pl/2008/08/03/funkcje-min-max-avg-rank-percent_rank-dende_rank-stddev/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Funkcje grupujące group by</title>
		<link>http://oracle.sql.waw.pl/2008/07/11/funkcje-grupujace-group-by/</link>
		<comments>http://oracle.sql.waw.pl/2008/07/11/funkcje-grupujace-group-by/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 19:34:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[funkcja grupująca]]></category>

		<category><![CDATA[]]></category>

		<category><![CDATA[avg]]></category>

		<category><![CDATA[count]]></category>

		<category><![CDATA[DENSE_RANK]]></category>

		<category><![CDATA[Funkcje grupujące]]></category>

		<category><![CDATA[group by]]></category>

		<category><![CDATA[ilosc wierszy w tabeli]]></category>

		<category><![CDATA[max]]></category>

		<category><![CDATA[MIN]]></category>

		<category><![CDATA[nazwa kolumny]]></category>

		<category><![CDATA[not null]]></category>

		<category><![CDATA[PERCENT_RANK]]></category>

		<category><![CDATA[RANK]]></category>

		<category><![CDATA[STDDEV]]></category>

		<category><![CDATA[SUM]]></category>

		<category><![CDATA[wartość not null]]></category>

		<category><![CDATA[wiersze w tabeli]]></category>

		<category><![CDATA[zapytanie]]></category>

		<category><![CDATA[zliczanie wierszy]]></category>

		<guid isPermaLink="false">http://oracle.sql.waw.pl/2008/07/11/funkcje-grupujace-group-by/</guid>
		<description><![CDATA[
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=&#8217;M';
zapytanie  zwróci liczbę np. 150 . lub
select count(*) [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Do <em>funkcji grupujących</em> zaliczamy następujące funkcje:</p>
<p><font color="#ff0000"><strong>AVG</strong></font> - średnia,</p>
<p><font color="#ff0000"><strong>COUNT</strong></font> - zliczanie, ile,</p>
<p><strong>MAX</strong>, <strong>MIN</strong>, <strong>DENSE_RANK</strong>,  <strong>PERCENT_RANK</strong>, <strong>RANK</strong>, <strong>STDDEV</strong> i <strong>SUM</strong>.</p>
<p>count(*) - zliczanie, np. jeżeli chcemy zliczyć ilość wierszy w tabeli wtedy używamy <em>count(*)</em> przykład: chcemy zliczyć  ile mężczyzn pracuje w firmie to wtedy robimy zapytanie</p>
<p><font color="#993366"><em>select count(*) from pracownicy where plec=&#8217;M';</em></font></p>
<p>zapytanie  zwróci liczbę np. 150 . lub</p>
<p><font color="#993366"><em>select count(*) from odzialy;</em></font></p>
<p>to zapytanie poda nam ile jest wszystkich wierszy w tabeli .</p>
<p>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:</p>
<p><font color="#993366">select plec, count(*) from pracownicy group by plec;</font></p>
<p>to zapytanie zwróci liczbę mężczyzn  i liczbe kobiet w tabeli pracownicy przykład wyniku:</p>
<p><em>M 150<br />
K 109</em></p>
<p>czyli jak widzimy zliczyło w grupach grupami są tu rodzaje płci.</p>
<p>Możemy także zliczać tylko wartości nie zerowe (not NULL) w kolumnie i wtedy zamiast * podajemy nazwę kolumny  przykład:</p>
<p><font color="#993366"><em>select count(prowizja) from płatnosci; </em></font></p>
<p>Możemy także zliczyć ile rodzajów np. mebli jest w tabeli meble</p>
<p><font color="#993366"><em>select count(DISTINCT(rodzaj_meble)) from meble;</em></font></p>
<p>w kolumnie rodzaj_meble są takie wartości jak: krzesło, wersalka, stol, fotele i inne.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://oracle.sql.waw.pl/2008/07/11/funkcje-grupujace-group-by/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
