or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
Osnove podatkovnih baz - vaje 4.3.2021
JOIN
,GROUP BY
,HAVING
JOIN
Izpiši imena oseb brez traktorjev.
Izpiši vse veljavne pare (ime starša, ime otroka).
Izpiši starše, ki so svojim otrokom kupili traktor, še preden so ti dopolnili 10 let.
Namig:
cas1+'10 years'::INTERVAL
vrne timestamp, ki opisuje trenutek 10 let po časucas1
. Timestampe lahko med seboj primerjaš z operatorji<
,>
,<=
,>=
.Izpiši vse pare (ime osebe, ime starega starša). Za osebe, ki nimajo starih staršev, izpiši par
(ime osebe, NULL)
.GROUP BY
,HAVING
Še o funkciji
count()
:Funkcija
count()
zna šteti na tri različne načine:count(*)
prešteje vse vrstice, tudi takšne z vrednostmiNULL
count(bla)
prešteje vrstice, ki v stolpcubla
nimajoNULL
count(DISTINCT bla)
prešteje število različnih vrednosti v stolpcubla
, ki so različne odNULL
Za vsako osebo izpiši, koliko otrok ima. Osebe lahko izpišeš kar z IDjem. Oseb, ki nimajo otrok, ne izpisuj.
Za vsako znamko traktorjev izpiši število takih traktorjev v bazi. Pazi na znamko Edelstahl. Znamke izpiši z imenom.
Za vsako neprevidno osebo izpiši, koliko rezervnih delov ima v lasti. Neprevidna je oseba, ki ima v lasti največ en rezervni del. Ne pozabi na osebe, ki nimajo nobenega rezervnega dela. Uporabi funkcijo
coalesce
, ki morebitno vrednostNULL
zamenja s podano konstanto (recimo 0).Izpiši ime osebe, ki ima največ vozniških izkušenj. Predpostavljamo, da je vsak lastnik vozil vsakega od svojih traktorjev od dneva nakupa do danes povprečno 15 minut na dan. Količine vozniških izkušenj (števila ur) ni treba izpisovati.
Vaščani se odločijo rezervne dele zložiti v skupni fond, iz katerega bo potem vsak po potrebi jemal, ko se mu pokvari traktor. Za vsak tip rezervnega dela izpiši, koliko traktorjev lahko preskrbijo z delom tega tipa. (Štejemo samo prvo okvaro: če imamo en sam volan za Mercedese in 8 Mercedesov, pa nič drugih traktorjev, lahko z volanom preskrbimo 8 traktorjev, ne enega.)
Namig: Uporabi
count
z določilomDISTINCT
.V obliki dan. mesec. (npr. 19. 7.) izpiši vse datume, na katere imata rojstni dan vsaj dve osebi. Mesec iz datuma dobiš s funkcijo
extract(month FROM datumska_vrednost)
, podobno tudi za dan (glej funkcije za časovne vrednosti). Spomni se tudi operatorja||
za stikanje nizov (t.j., "seštevanje" nizov).