Spoznajte različne vrste MySQL operatorjev. Na tej strani boste našli pregled vseh pomembnih operatorjev, njihovo uporabo in praktične primere. Operatorji so razdeljeni v več kategorij: logični, primerjalni, aritmetični in posebni operatorji.
Poizvedba išče zaposlene iz oddelka "Proizvodnja", ki imajo višje plače od 2000. Uporabili smo logični operator
AND, kar pomeni, da morata biti izpolnjena oba pogoja.
SELECT ime, priimek, placa, oddelek FROM zaposleni WHERE oddelek = 'Proizvodnja' AND placa > 2000;
Poizvedba uporablja operator BETWEEN, ki išče vrednost v določenem razponu.
SELECT ime, priimek, leto_zaposlitve FROM zaposleni WHERE leto_zaposlitve BETWEEN 2018 AND 2020;
Tretji primer prikazuje uporabo operatorja manjše ali enako in išče zaposlene s plačo nižjo ali enako od 1800.
SELECT ime, priimek, placa FROM zaposleni WHERE placa <= '1800';
Operatorji v MySQL vam omogočajo izvajanje matematičnih izračunov, primerjav vrednosti in kompleksnih logičnih operacij znotraj vaših poizvedb. Spodnja tabela vsebuje vse matematične, primerjalne, logične in bitne operatorje s pravilno sintakso ter primeri.
| Ime / Operator | Opis | Sintaksa (HTML) | Primer |
|---|---|---|---|
| + | Seštevanje dveh ali več številskih vrednosti. | Izraz1 + Izraz2 |
SELECT cena + 5.00 FROM produkti; |
| - | Odštevanje ene številske vrednosti od druge. | Izraz1 - Izraz2 |
SELECT cena - popust FROM akcije; |
| * | Množenje številskih vrednosti. | Izraz1 * Izraz2 |
SELECT kolicina * cena_kos FROM narocila; |
| / | Deljenje številskih vrednosti. | Izraz1 / Izraz2 |
SELECT znesek / 2 FROM racuni; |
| % | Ostanek od deljenja (modulo). | Izraz1 % Izraz2 |
SELECT id % 2 FROM zaposleni; |
| = | Preveri, ali sta dve vrednosti enaki. | WHERE stolpec = vrednost |
SELECT * FROM stranke WHERE mesto = 'Kranj'; |
| > | Preveri, ali je prva vrednost večja od druge. | WHERE stolpec > vrednost |
SELECT * FROM izdelki WHERE cena > 500; |
| < | Preveri, ali je prva vrednost manjša od druge. | WHERE stolpec < vrednost |
SELECT * FROM ocene WHERE ocena < 70; |
| >= | Preveri, ali je prva vrednost večja ali enaka drugi. | WHERE stolpec >= vrednost |
SELECT * FROM zaposleni WHERE placa >= 2000; |
| <= | Preveri, ali je prva vrednost manjša ali enaka drugi. | WHERE stolpec <= vrednost |
SELECT * FROM zaloga WHERE kolicina_na_zalogi <= 10; |
| <>, != | Preveri, ali sta dve vrednosti različni (nista enaki). | WHERE stolpec <> vrednost |
SELECT * FROM zaposleni WHERE oddelek != 'Prodaja'; |
| <=> | NULL-varna primerjava (deluje tudi, če sta vrednosti NULL). | WHERE stolpec <=> vrednost |
SELECT * FROM null_tabela WHERE vrednost <=> NULL; |
| AND, && | Logični IN. Resnično, če sta oba pogoja izpolnjena. | WHERE p1 AND p2 |
SELECT * FROM zaposleni WHERE placa > 1800 AND oddelek = 'Proizvodnja'; |
| OR, || | Logični ALI. Resnično, če je izpolnjen vsaj eden od pogojev. | WHERE p1 OR p2 |
SELECT * FROM stranke WHERE mesto = 'Ljubljana' OR mesto = 'Maribor'; |
| NOT, ! | Logična negacija. Obrne resničnost pogoja. | WHERE NOT pogoj |
SELECT * FROM akcije WHERE NOT sezona = 'Poletje'; |
| XOR | Ekskluzivni ALI. Resnično le, če je natanko eden od pogojev resničen. | WHERE p1 XOR p2 |
SELECT * FROM zaposleni WHERE oddelek = 'Nabava' XOR placa > 2000; |
| & | Bitni IN (Bitwise AND). Primerja vsak bit dveh števil. | Izraz1 & Izraz2 |
SELECT id & 1 FROM zaposleni; |
| | | Bitni ALI (Bitwise OR). Združi bite dveh števil. | Izraz1 | Izraz2 |
SELECT id | 2 FROM zaposleni; |
| ^ | Bitni ekskluzivni ALI (Bitwise XOR). | Izraz1 ^ Izraz2 |
SELECT id ^ 1 FROM zaposleni; |
| ~ | Bitna negacija (Bitwise NOT). Obrne vse bite števila. | ~Izraz |
SELECT ~id FROM zaposleni; |
| << | Bitni levi premik (Bitwise Left Shift). Pomakne bite v levo. | Izraz << premik |
SELECT id << 2 FROM zaposleni; |
| >> | Bitni desni premik (Bitwise Right Shift). Pomakne bite v desno. | Izraz >> premik |
SELECT id >> 1 FROM zaposleni; |
| BETWEEN | Preveri, ali je vrednost znotraj določenega zaprtega intervala. | WHERE stolpec BETWEEN m1 AND m2 |
SELECT * FROM izdelki WHERE cena BETWEEN 50.00 AND 200.00; |
| IN | Preveri, ali se vrednost ujema s katerokoli vrednostjo na seznamu. | WHERE stolpec IN (v1, v2, ...) |
SELECT * FROM stranke WHERE mesto IN ('Celje', 'Koper', 'Kranj'); |
| LIKE | Išče ujemanje po tekstovnem vzorcu (uporablja % za poljubne znake). | WHERE stolpec LIKE vzorec |
SELECT * FROM zaposleni WHERE priimek LIKE 'K%'; |
| REGEXP | Išče ujemanje s pomočjo regularnih izrazov (napredno iskanje teksta). | WHERE stolpec REGEXP vzorec |
SELECT * FROM novice WHERE naslov REGEXP 'gaming|4K'; |
| IS NULL | Preveri, ali je vrednost v stolpcu prazna (vsebuje NULL). | WHERE stolpec IS NULL |
SELECT * FROM null_tabela WHERE opomba IS NULL; |
| IS NOT NULL | Preveri, ali stolpec vsebuje kakršnokoli vrednost (ni prazna/NULL). | WHERE stolpec IS NOT NULL |
SELECT * FROM null_tabela WHERE vrednost IS NOT NULL; |
| DISTINCT | Odstrani podvojene vrstice iz izpisa. | SELECT DISTINCT stolpec FROM tabela; |
SELECT DISTINCT oddelek FROM razvrscanje; |