oracle

Klauzula MODEL

Przykłady z kursu SQL Oracle z Udemy

Wypisanie zwiększowej wartości dla konkretnego ID

select
employee_id,
salary
from employees
model
dimension by (employee_id)
measures (salary)
rules (
salary[employee_id = 100] = salary[employee_id = 100] + 999
)


Wypisanie nowej wartości dla zakresu odpowiednich ID okreslonego pętlą

Tags: 

Kolumny policzalne

Tworzenie tabeli z kolumną policzalną

create table policz_tab (a int, b int, wynik int as (a+b))

Parametry tabeli
policzalna
Dodawanie wartości do tabeli z kolumną policzalną

insert into policz_tab(a,b) values (5,7)

Update wartości także powoduje update w kolumnie policzalnej.

Tags: 

Tabela zewnętrzna - Tworzenie

Wczytywanie directories

directories

select * from dba_directories


directories2

Tworzenie nowego directory

create directory katalog_kurs as 'C:\TEMP';

Tags: 

Tabela tymczasowa - Tworzenie

Tworzenie tabeli prywatnej, która po commit zniknie

create private temporary table ORA$PTT_tab_testowa (id int) on commit drop definition


Tworzenie tabeli prywatnej, ktora po commit pozostanie, ale zniknie po zakończeniu sesji

create private temporary table ORA$PTT_tab_testowa (id int) on commit preserve definition

Tags: 

Zapytanie hierarchiczne

Przykłady ze szkolenia SQL Oracle na Udemy:
Ustawienie prostej hierarchii (kolumna level oznacza ilość przelożonych)

select
employee_id,
last_name,
manager_id,
level
from employees
connect by prior employee_id = manager_id


Podwładni konkretnego pracownika

Tags: 

Widok - Tworzenie

Przykład:

create view widok_nazwa
as
select [...]

Tags: 

PIVOT, UNPIVOT - Prezentacja danych

PIVOT
Przykład:

SELECT * from
(
select
kol1,
kol2
from tab1
where kol2 in('wart1','wart2','wart3')
)
PIVOT
(
count(*) for kol2 in('wart1','wart2','wart3')
)

UNPIVOT
Przykład (źródło: kurs SQL Udemy):
Utworzenie widoka z pivota

Tags: 

REGEXP - Wyrażenie regularne

REGEXP_COUNT() - Zliczanie znaków

Zliczanie wystapień konkretnego znaku

regexp_count('z1ap3as','a')

Zliczanie wystapień konkretnego znaku (bez case sensivity)

regexp_count('z1ap3as','A',1,'i')

Zliczanie liter

regexp_count('z1ap3as','[[:alpha:]]')

Zliczanie cyfr

Tags: 

Funkcje okna

Suma wartości wiersza poprzedzającego oraz obecnego

select
kol1,
kol2,
sum(kol3) over (order by kol1 rows between unbounded preceding and current row) wzrost
from tab
order by 1

select
kol1,
kol2,
sum(kol3) over (order by kol1 rows unbounded preceding) wzrost
from tab
order by 1

Tags: 

FIRST, LAST - Wyszukiwanie wartości w kolumnie

FIRST - Wartość pierwsza w grupowaniu

select
kol1,
max(kol2),
max(kol3) keep (dense_rank first order by kol2 desc)
from tab
group by kol1

LAST - Wartość ostatnia w grupowaniu

select
kol1,
max(kol2),
max(kol3) keep (dense_rank last order by kol2 desc)
from tab
group by kol1

Tags: 

Strony

Subskrybuj RSS - oracle