Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Cvičení 05 Joins, isNull, case when Ing. Pavel Bednář pavel.bednar@vsb.cz http://pavelbednar.aspone.cz
2
Klasické spojení dvou tabulek na základě společného atributu. Spojí pouze záznamy z levé (první) relace, které mají shodný záznam v pravé (druhé) relaci. Záznamy z první tabulky, které nemají shodný záznam na pravé straně, nebudou ve výsledné relaci.
3
Select * from Student s Join Vyznamenani v On s.login = v.login Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva232 Nov098NovákBohumil281 Sip001ŠípkováRůžena182 Vid021VidlákováKateřina283 Vyznamenani LoginRok Zub0112011 Sip0012013 Zub0112012 s.Logins.Příjmenís.Jménos.Věks.Id_Fakultav.Loginv.rok Dra025DrábekTomáš251Zub0112011 Zub011ZubatáEva232Sip0012013 Zub011ZubatáEva232Sip0012012
4
Výsledná relace bude obsahovat všechny záznamy z levé relace i když nemají shodné záznam v relaci na pravé straně. Všechny atributy relace z pravé strany budou NULL pokud záznam v levé relaci nemá shodný záznam v relaci na pravé straně.
5
Select * from Student s LEFT Join Vyznamenani v On s.login = v.login Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva232 Nov098NovákBohumil281 Sip001ŠípkováRůžena182 Vid021VidlákováKateřina283 Vyznamenani LoginRok Zub0112011 Sip0012013 Zub0112012 s.Logins.Příjmenís.Jménos.Věks.Id_Fakultav.Loginv.rok Dra025DrábekTomáš251NULL Zub011ZubatáEva232Zub0112011 Zub011ZubatáEva232Zub0112012 Nov098NovákBohumil281NULL Sip001ŠípkováRůžena182Sip0012013 Vid021VidlákováKateřina283NULL
6
Výsledná relace bude obsahovat všechny záznamy z pravé relace i když nemají shodné záznam v relaci na levé straně. Všechny atributy relace z levé strany budou NULL pokud záznam v pravé relaci nemá shodný záznam v relaci na levé straně.
7
Select * from Student s RIGHT Join Vyznamenani v On s.login = v.login Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva232 Nov098NovákBohumil281 Sip001ŠípkováRůžena182 Vid021VidlákováKateřina283 Vyznamenani LoginRok Zub0112011 Sip0012013 Zub0112012 s.Logins.Příjmenís.Jménos.Věks.Id_Fakultav.Loginv.rok Zub011ZubatáEva232Zub0112011 Zub011ZubatáEva232Zub0112012 Sip001ŠípkováRůžena182Sip0012013
8
Pokud je nějaký atribut NULL, nahradí ho jinou hodnotou.
9
Select login, IsNull(Id_fakulta,-1) from Student s Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva23NULL Nov098NovákBohumil281 Sip001ŠípkováRůžena18NULL Vid021VidlákováKateřina283 Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva23 Nov098NovákBohumil281 Sip001ŠípkováRůžena18 Vid021VidlákováKateřina283
10
Jednoduchý rozhodovací blok Syntaxe: CASE WHEN condition THEN value1 ELSE value2 END Lze použít v agregačních funkcích jako SUM(), atd.
11
Kolik záznamů nemá vyplněnou fakultu Select sum(case when s.id_Fakulta is null then 0 else 1 end) as Pocet from Student s Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva23NULL Nov098NovákBohumil281 Sip001ŠípkováRůžena18NULL Vid021VidlákováKateřina283 Student Pocet 3
12
Spočítá počet unikátních výskytů atributu. Select count(distinct Věk) as Pocet From Student Student LoginPříjmeníJménoVěkId_Fakulta Dra025DrábekTomáš251 Zub011ZubatáEva23NULL Nov098NovákBohumil281 Sip001ŠípkováRůžena18NULL Vid021VidlákováKateřina283 Student Pocet 4
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.