← Back to all notes

DBMS (4IT218)

Published: 2/18/2026

Cvika

Prvni cviko (2026-02-17)

SELECT * FROM zam WHERE titul = 'RNDR';
SELECT DISTINCT cis_odd
FROM zam
WHERE cis_odd IS NOT NULL;
SELECT DISTINCT zam.cis_odd, oddel.nazev 
    FROM zam join oddel ON zam.cis_odd = oddel.cis_odd 
WHERE zam.titul = 'ING';

/* Obdobne muzeme pouzit USING, protoze maji oba edge stejny column name */

SELECT DISTINCT cis_odd, oddel.nazev
FROM zam
JOIN oddel USING (cis_odd)
WHERE zam.titul = 'ING';
SELECT
    cis_odd,
    nazev
FROM
    oddel
WHERE
    cis_odd = ANY (
        SELECT
            zam.cis_odd
        FROM
            zam
        WHERE
            titul LIKE 'ING'
    );
SELECT
    cis_odd,
    nazev
FROM
    oddel
WHERE
    cis_odd IN (
        SELECT
            zam.cis_odd
        FROM
            zam
        WHERE
            titul LIKE 'ING'
    );
SELECT
    cis_odd,
    COUNT(cis_odd) AS user_count
FROM
    zam
WHERE
    titul = 'ING'
GROUP BY
    cis_odd;
SELECT
    oddel.cis_odd,
    oddel.nazev,
    z.titul
FROM
    oddel
    LEFT JOIN (
        SELECT
            titul,
            cis_odd
        FROM
            zam
        WHERE
            titul LIKE 'ING'
    ) z ON z.cis_odd = oddel.cis_odd;

S GROUP BY a prumerem platu:

SELECT
    nazev,
    COUNT(os_cis) AS pocet_ing,
    AVG(plat)     AS prum_plat
FROM
    oddel
    LEFT JOIN (
        SELECT
            titul,
            cis_odd,
            plat,
            os_cis
        FROM
            zam
        WHERE
            titul LIKE 'ING'
    ) USING ( cis_odd )
GROUP BY
    cis_odd,
    nazev
ORDER BY
    cis_odd;