SQL> SPOOL
currently spooling to ülesanne_05.lst
SQL> --Leidke tabelite yliopilased , koduylesanded, oppeained abil iga tudengi keskmine “punktisaak”
koduste tööde eest
SQL> SELECT y. eesnimi , y. perenimi , round (avg(k.punktid),1) AS kesk_punkte FROM yliopilased y,
koduylesanded k where y.id=k.yliopilase_id GROUP BY y.eesnimi,
y.perenimi;
EESNIMI PERENIMI KESK_PUNKTE
------------ ------------ -----------
Katrin Kask 5.4
Salme Saar 4.1
Liina Vaher 7.8
Kairi M„nd 6.6
SQL> -- Samade tabelite põhjal leidke, mitu
tööd on oracle -aine ülesannete kohta saadetud . Grupeerige ülesande
numbri kaupa
SQL> SELECT k.too_nr, count (k.failinimi) AS
arv FROM koduylesanded k, oppeained o WHERE o.kood = k.kursusekood
AND o.nimetus = 'Oracle: SQL ja PL/SQL' GROUP BY k.too_nr;
TOO_NR ARV
------ ----------
1 4
2 2
3 2
SQL> SELECT sunniaasta, round(avg( emakeel ),
0) AS kesk_emakeel FROM (SELECT k.emakeel,
lesanne 1------------------------------------------------------------------------------- -- sqlplus scott/tiger@testdata describe kandidaadid insert into kandidaadid values ('Stanislav', 'Tsvetajev', '38609140224', 60, 70, 80); update kandidaadid set eesnimi='Stas' where isikukood=38609140224; select * from kandidaadid where eesnimi = 'Stas'; delete from kandidaadid where eesnimi = 'stas'; lesanne 2------------------------------------------------------------------------------- -- sqlplus scott/tiger@testdata select eesnimi, perenimi, emakeel from kandidaadid where isikukood like '4%' and emakeel >60; select eesnimi, perenimi, to_date(substr(isikukood,2,6),'YYMMDD') as sunniaeg from kandidaadid where to_date(substr(isikukood, 4, 4), 'mmdd')> sysdate order by to_date(substr(isikukood, 4, 4), 'mmdd'); lesanne 3----------------------------------------------------------------- sq
SQL> SPOOL currently spooling to ülesanne_12.lst SQL> CREATE TABLE koduylesanded AS (SELECT * FROM scott.koduylesanded); Table created. SQL> COLUMN yliopilase_id FORMAT 999 SQL> COLUMN kursusekood FORMAT A8 SQL> COLUMN too_nr FORMAT 999 SQL> COLUMN yliopilase_id FORMAT 999 SQL> COLUMN punktid FORMAT 999 SQL> COLUMN failinimi FORMAT A8 SQL> SQL> SELECT * FROM koduylesanded; YLIOPILASE_ID KURSUSEK KUUPAEV TOO_NR FAILINIM PUNKTID ------------------------ -------- --------------- ------ -------- ------- 10020014 I319 01-JUN-03 1 t7.txt 10 10020015 I319 11-JUL-03 1 t8.txt 10 10020011 I319 11-JUN-04 2 t2.txt 7 10020013 I319 11-JUN-04 3 t3.txt 8 10020011 Iad307 11-JUN-03 1 t1.txt 5 10020011 Id310 12-JUN-03 1 t2
SQL> COLUMN id format 999 SQL> COLUMN kaal FORMAT 999.99 SQL> COLUMN sugu FORMAT A4 SQL> SELECT * FROM talled; ID SUNNIAEG KAAL SUGU ---- --------------- ------- ---- 3 04-APR-17 01.41 7.29 J .04 PM 6 04-APR-17 01.44 6.37 U .50 PM 8 04-APR-17 01.45 5.84 U .17 PM 9 04-APR-17 01.45 9.26 J .33 PM SQL> --Moodustage vaade, mis selekteerib tabelitest yliopilased, oppeained ja koduylesanded oracle kohta saadetud kodutööde punktisummad SQL> CREATE VIEW oracle_punktid (nimi, punktid) AS 2 SELECT y.perenimi ||','|| y.eesnimi AS nimi, x.summa 3 FROM (SELECT yliopilase_id AS id, sum(punktid) AS summa, kursusekood 4 FROM scott.koduylesanded 5 GROUP BY yliopilase_id, kursusekood) x, scott.yliopilased y, 6 (SELECT kood FROM scott.oppeained o 7 WHERE nimetus='Oracle: SQL ja PL/SQL') kt 8 WHERE y.id=x.id AND kt.kood=x.kursusekood; View created. SQL> COLUMN nimi FORMAT A12
SQL> SPOOL currently spooling to ülesanne_06.lst SQL> COLUMN nimetus FORMAT A15 NEW_VALUE nimetus NOPRINT SQL> COLUMN oppejoud FORMAT A15 OLD_VALUE oppe NOPRINT SQL> COLUMN nimi FORMAT A15 SQL> COLUMN punktid FORMAT 999 SQL> TTITLE CENTER 'Aine: ' nimetus SKIP 1 SQL> BTITLE CENTER 'Oppejoud: ' oppe SKIP 1 SQL> BREAK on nimi SKIP SQL> SET feedback on SQL> COLUMN nimi heading "Nimi" SQL> COLUMN ulesanne heading "Ylesanne" SQL> COLUMN punktid heading "Punktid" SQL> COLUMN kuupaev heading "Kuupaev" SQL> --Kasutage tabeleid yliopilased, koduylesanded, oppeained ning koostage skript (programm) SQL> --mis küsib kasutajalt õppeaine nimetuse fragmendi (kasutades asendusmuutujaid) ja väljastab SQL> --selle õppeaine kohta saadetud kodutööd. Lehekülje päisesse kirjutage õppeaine nimetus ja SQL> --jalusesse vastava õppejõu nimi, nagu näidatud allpool SQL> SELECT o.oppejoud AS oppejoud, 2 o.nimetus AS nimetus, 3 y.eesnimi || ' ' || y.perenimi AS nimi, 4 k.too_nr AS ulesanne, k.pun
Ülesanne 5 1. Leidke tabelite lepikult.yliopilased, lepikult.koduylesanded ja lepikult.oppeained abil iga tudengi keskmine “punktisaak” koduste tööde eest. SELECT y.eesnimi, y.perenimi, ROUND(AVG(k.punktid), 1) AS "Kesk. punkte" FROM lepikult.yliopilased y, lepikult.koduylesanded k, lepikult.oppeained o WHERE y.id = k.yliopilase_id AND o.kood = k.kursusekood GROUP BY y.eesnimi, y.perenimi; 2. Samade tabelite põhjal leidke, mitu tööd on oracle-aine ülesannete kohta saadetud. Grupeerige ülesande numbri kaupa: SELECT k.too_nr AS "TÖÖ NR.", COUNT(k.kursusekood) AS "ARV" FROM lepikult.oppeained o, lepikult.koduylesanded k WHERE o.kood=k.kursusekood AND lower(o.nimetus) LIKE 'oracle%' GROUP BY k.too_nr; 3. Uurige tabeli scott.kandidaadid abil välja, millisel aastal sündinud naisterahvaste emakeele keskmine hinne on kõige kõrgem. SELECT Aasta, ROUND(AVG(emakeel), 0) AS "Keskmine Hinne" FROM (SELECT substr(to_date(substr(id, 2
SQL> SPOOL currently spooling to ülesanne_04.lst SQL> DESCRIBE lepikult.yliopilased; Name Null? Type ----------------------------------------- -------- ---------------------------- ID CHAR(8) EESNIMI VARCHAR2(15) PERENIMI VARCHAR2(15) SQL> DESCRIBE lepikult.koduylesanded; Name Null? Type ----------------------------------------- -------- ---------------------------- YLIOPILASE_ID CHAR(8) KURSUSEKOOD VARCHAR2(6) KUUPAEV DATE TOO_NR NUMBER(2) FAILINIMI VARCHAR2(20) PUNKTID
Grupid vähenevad vasakult paremale. Vajadusel korral tuleb väljade järjestust muuta. Kui grupeerimist ei kasutata, kasutatakse arvutuseks kõigi väljastatud kirjete vasatava välja väärtusi. STANDARD QUERY LANGUAGE AJALUGU:Relatsiooniline AB töötati välja E. F. Codd'i poolt 70-ndate alguses. SQL on pärit IBM-st, relats. AB prototüübist System R, 70-ndate keskel. Originaalne SQL keel (SEQUEL2) kirjeldati 1976 a. novembris IBM Journal of R&D. Esimene turule tulnud produkt oli 1979 Oracle Corp. poolt. Tänapäeval on kujunenud andmebaaside juurdepääsukeele standardiks. SQL - i üldiseloomustus: 1. Mitteprotseduurne keel, sest - Töödeldakse kirjete hulki, mitte üht kirjet korraga - Juurdepääs (navigation) andmetele automaatne - ei nôua kasutajalt juurdepääsuviisi teadmist. SQL kasutab olemasolevaid indekseid automaatselt. 2. Kasutajate ring on väga lai: - Süsteemi administraatorid - Andmebaasi administraatorid - Andmekaitse administraatorid
Sisukord Eessõna Hea õpilane! Microsofti arenduspartnerid ja kliendid otsivad pidevalt noori ja andekaid koodimeistreid, kes oskavad arendada tarkvara laialt levinud .NET platvormil. Kui Sulle meeldib programmeerida, siis usun, et saame Sulle pakkuda vajalikku ja huvitavat õppematerjali. Järgneva praktilise ja kasuliku õppematerjali on loonud tunnustatud professionaalid. Siit leid uusimat infot nii .NET aluste kohta kui ka juhiseid veebirakenduste loomiseks. Teadmiste paremaks omandamiseks on allpool palju praktilisi näiteid ja ülesandeid. Ühtlasi on sellest aastast kõigile kättesaadavad ka videojuhendid, mis teevad õppetöö palju põnevamaks. Oleme kogu õppe välja töötanud vabavaraliste Microsoft Visual Studio ja SQL Server Express versioonide baasil. Need tööriistad on mõeldud spetsiaalselt õpilastele ja asjaarmastajatele Microsofti platvormiga tutvumiseks. Kellel on huvi professionaalsete tööriistade proovimiseks, siis tasub lähemalt tutvuda õppuritele
Kõik kommentaarid