SELECT Laused

Tabeli loomine

create table opilane (
    opilaneID INT primary key,
    eesnimi VARCHAR(50),
    perenimi VARCHAR(50),
    epost VARCHAR(50),
    sugu VARCHAR(50),
    stip DECIMAL(5,2)
);

Kuva kõik kirjed (*) tabelist opilane:

	select * from opilane;

Kuva ainult 2 veergu tabelist opilane:

	select perenimi, stip from opilane;

Kuva 3 veergu ja sorteeri andmed stip järgi:

--kasvavas järjekorras - väiksemast-->suuremani, A-->Z
--kahanevas järjekorras - DESC, suurimast-->väikseni, Z-->A
select opilaneID, eesnimi, epost, stip from opilane ORDER BY stip DESC;

Kuva eesnimi, sorteeritud kahanevas järjekorras:

--kuva eesnimi, mis on sorteeritud kahanevas järjekorras
SELECT eesnimi from opilane ORDER BY eesnimi DESC;

Võrdlused

-- näita eesnimed mis algvad A tähega
SELECT eesnimi FROM opilane WHERE eesnimi LIKE 'A%'
 
-- näita eesnimed ja perenimed mis algvad A tähega
SELECT eesnimi, perenimi FROM opilane WHERE eesnimi LIKE 'A%' OR perenimi LIKE 'A%'
 
-- näita õpilased, kellel eesnimed ja perenimed algavad A tähega
SELECT eesnimi, perenimi
FROM opilane
WHERE eesnimi LIKE 'A%' AND perenimi LIKE 'A%'
 
--näita eesnimed, kellel esimene ja viimane täht on sama
SELECT eesnimi
FROM opilane
WHERE LEFT(eesnimi, 1) = RIGHT(eesnimi, 1)
-- < - väiksem kui, > - suurem kui, = - võrdne
--näita õpilased kelle stip on suurem kui 40 ja väiksem kui 70
SELECT perenimi, stip
FROM opilane
WHERE stip > 40 AND stip < 70
 
--BETWEEN
SELECT perenimi, stip
FROM opilane
WHERE stip BETWEEN 40 and 70
ORDER BY perenimi
--päringus sorteerimine kirjutame viimasena
--Agregaatfunktsioonid - COUNT, SUM, AVG, MIN, MAX
--Leia õpilaste arv
 
SELECT COUNT(*) AS 'Õpilaste arv' FROM opilane
--Leia keskmine stip
SELECT AVG(stip) AS 'Keskmine stip' FROM opilane
-- näita 5 õpilast kõige suurema stipiga
SELECT TOP 5 eesnimi, perenimi, stip FROM opilane
ORDER BY stip DESC;
 
--XAMPP kasutame TOP asemel LIMIT
SELECT eesnimi, perenimi, stip FROM opilane
ORDER BY stip DESC
LIMIT 5;
--kombineerime tingimused
--eesnimed sisaldavad t ja stip (60,70)
SELECT eesnimi, stip FROM opilane WHERE LOWER(eesnimi) LIKE '%t%' AND stip BETWEEN 60 and 70