LIKE

Operater LIKE se uporablja v členu WHERE za iskanje določenega vzorca v stolpcu. V povezavi z operaterjem LIKE se pogosto uporabljata dva nadomestna znaka. To sta znak % (odstotek), ki predstavlja nič, enega ali več znakov, drugi je podčrtaj _, ki predstavlja en znak. Znaka _% se lahko uporabljata tudi v kombinacijah.

    SELECT * FROM stranke WHERE ime LIKE 'u%'
LIKE 1
LIKE 2

OPERATER OPIS PRIMER
WHERE ime LIKE 'a%' najde zapis, ki se začne s črko a SELECT * FROM stranke WHERE ime LIKE 'a%'
WHERE ime LIKE '%a' najde zapis, ki se konča na črko a SELECT * FROM stranke WHERE ime LIKE '%a'
WHERE ime LIKE '%an%' najde zapiske, ki vsebujejo črki an na katerem koli mestu SELECT * FROM stranke WHERE ime LIKE '%an%'
WHERE ime LIKE '_i%' najde vrednost, ki vsebuje črko i na drugem mestu SELECT * FROM stranke WHERE ime LIKE '_i%'
WHERE ime LIKE 'a_%' najde vse vrednosti, ki se začnejo s črko a, in so dolge vsaj dva znaka SELECT * FROM stranke WHERE ime LIKE 'a_%'
WHERE ime LIKE 'a__%' najde vse vrednosti, ki se začnejo s črko a, in so dolge vsaj tri znake SELECT * FROM stranke WHERE ime LIKE 'a__%'
WHERE ime LIKE 'a%o' najde vrednosti, ki se začnejo s črko f in končajo s črko c SELECT * FROM stranke WHERE ime LIKE 'f%c'

WILDCARDS

Wildcard (slo. Nadomestni znak) se uporablja za zamenjavo enega ali več znakov v nizu. Uporabljajo se skupaj z operatorjem LIKE. Operater LIKE se uporablja v členu WHERE za iskanje določenega vzorca v stolpcu.

Simbol % predstavlja nič ali več znakov.

    SELECT * FROM stranke WHERE mesto LIKE '%ji'
WILDCARDS 1
WILDCARDS 2

Simbol _ predstavlja en zank.

    SELECT * FROM stranke WHERE mesto LIKE '_id_ar_i'
WILDCARDS 3
WILDCARDS 4

IN

Operater IN nam omogoča, da dodamo več vrednosti v člen WHERE.

    SELECT * FROM stranke WHERE ime IN ('Franc', 'Mateja', 'Ula')
IN 1
IN 2

Operater IN je okrajšava za več OR pogojev.

    SELECT * FROM stranke WHERE ime = 'Mateja' OR priimek = 'Kos' OR mesto = 'Kozolci'
IN 3
IN 4

BETWEEN

Operater BETWEEN izbere vrednosti znotraj obsega. Vrednosti so lahko številke, besede ali datumi. Začetne in končne vrednosti so vključene v operater BETWEEN.

    SELECT * FROM stranke WHERE ime BETWEEN 'i' AND 'u'
BETWEEN 1
BETWEEN 2

Za prikaz vsebine izven obsega, uporabimo operater NOT BETWEEN.

    SELECT * FROM stranke WHERE priimek NOT BETWEEN 'a' AND 'm'
BETWEEN 3
BETWEEN 4

Naslednji SQL stavek bo izbral vse poštne številke, ki se začnejo s pet in navzdol, prav tako ne bo prikazal id-jev 1, 3, 5.

    SELECT * FROM stranke WHERE posta BETWEEN 1000 AND 5000 AND id NOT IN (1, 3, 5)
BETWEEN 5
BETWEEN 6

V zadnjem primeru si bomo ogledali, kako SQL stavek izbere vsa imena med k in t.

    SELECT * FROM stranke WHERE ime BETWEEN 'k' AND 'm' ORDER BY ime
BETWEEN 7
BETWEEN 8

JOIN

JOIN se uporablja za združevanje vrstic iz dveh ali več tabel, na podlagi povezanega stolpca med njimi. Za ta namen, smo dodali še eno tabelo (ime tabele=osebe), in sicer smo jo že naredili v MySQL vadnici, pri ustvarjanju tabele, in vpisovanjih podatkov ter posodabljanju podatkov.

    SELECT osebe.id, stranke.ime, osebe.priimekOsebe
    FROM osebe
    INNER JOIN stranke ON osebe.id=stranke.id
JOIN 1
JOIN 2

INNER JOIN

INNER JOIN izbere zapise, ki imajo ujemajoče vrednosti v obeh tabelah.

    SELECT osebe.priimekOsebe, stranke.ime
    FROM osebe
    INNER JOIN stranke ON osebe.id = stranke.id
INNER JOIN 1
INNER JOIN 2

LEFT JOIN

LEFT JOIN vrne vse zapiske iz prve tabele, in ujemajoče zapiske iz druge tabele. Če ni ujemanja je rezultat nič.

    SELECT stranke.ime, osebe.email
    FROM stranke
    LEFT JOIN osebe ON stranke.id = osebe.id
    ORDER BY stranke.ime
LEFT JOIN 1
LEFT JOIN 2

RIGHT JOIN

RIGHT JOIN vrne vse zapise iz druge tabele, in zapise, ki se ujemajo iz prve, rezultat je nič, če se noben zapis ne ujema.

    SELECT osebe.imeOsebe, stranke.priimek, stranke.naslov, osebe.email
    FROM osebe
    RIGHT JOIN stranke ON osebe.id = stranke.id
    ORDER BY osebe.id
RIGHT JOIN 1
RIGHT JOIN 2

GROUP

Stavek GROUP združuje vrstice z enakimi vrednostmi v vrstice s povzetkom, kot na primer "poišči število strank v vsaki državi". Pogosto se uporablja s funkcijami kot so COUNT, MIN in MAX, SUM in AVG za združevanje rezultatov po enem ali več stolpcih.

    SELECT COUNT(id), priimek FROM stranke GROUP BY priimek
GROUP 1
GROUP 2

HAVING

Stavek HAVING je bil dodan v SQL, ker stavka WHERE ni mogoče uporabiti z agregatnimi funkcijami (COUNT, MIN in MAX, SUM in AVG).

    SELECT COUNT(id), ime FROM stranke GROUP BY priimek HAVING COUNT(id) > 1
HAVING 1
HAVING 2
1 2 3 4 5