Gyakorlati alapok III.

SQL (adatbázis)

 

SQL-utasítások visszafordítása

 

Remek gyakorlat lehet az SQL-utasítások emberi nyelvre való visszafordítása. Ennek során veszünk egy utasítást és megpróbáljuk érthetően magyar nyelvre lefordítani szóban vagy írásban. Például:

 

SELECT * FROM autok WHERE futott_km > 100000

 

Megoldás:

Az utasítás kiválasztja az AUTOK táblából azon oszlopokat, ahol a futott kilométer nagyobb 100000 kilométernél.

 

Természetesen más megfogalmazás is jó:

Az utasítás kiválasztja az AUTOK táblából azon autók adatait, amelyek 100000 kilométernél többet futottak.

 

Sok utasítás akár lefuttatásával is ellenőrizhető, amely során az eredményekből (is) le tudjuk vonni a következtetéseket, de az alábbi listában olyan utasítások is szerepelnek, amelyek ugyan SQL-utasítások, még sincsenek benne a MySQL szintaktikájában. Ezek tehát a MySQL-rendszeren belül nem lesznek futtathatók. Ekkor a feladat, hogy -egy egyszerű szótár használatához hasonlóan-, az Internet segítségével, értelmileg fordítsuk le az utasítást. Például a CREATE SEQUENCE utasítást a MySQL nem ismeri fel, bár a funkciót más formai elemekkel használja. Ilyenkor értsük meg a funkció értelmét és akkor már képesek leszünk átfordítani magyarra.

 

Természetesen az alábbi SQL-utasítások mindegyike a már megismert AUTO adatbázisra és adattábláira alapul.

  1. SELECT tipus_nev, vasarlas_datuma, ar FROM autok;

  2. SELECT rendszam,tipus_nev,ar FROM autok ORDER BY ar DESC;

  3. SELECT rendszam,ar FROM autok;

  4. SELECT DISTINCT tipus_nev,ar FROM autok WHERE ar> 1350000;

  5. SELECT tipus_nev, ar,auto_csop_nev FROM autok WHERE ar > 1350000 ORDER BY auto_csop_nev, ar DESC;

  6. SELECT rendszam,tipus_nev FROM autok WHERE auto_csop_nev<> 'EXTRA';

  7. SELECT * FROM autok WHERE futott_km> 9000 AND ar< 1000000;

  8. SELECT * FROM rendeles WHERE fizetes='Y';

  9. SELECT * FROM rendeles WHERE rendeles_datum< '1994-03-01';

  10. SELECT * FROM rendeles WHERE kolcson_kezdete> '1994-03-01' AND fizetes='N';

  11. SELECT rendszam,tipus_nev,futott_km FROM autok WHERE reszleg_kod='20';

  12. SELECT * FROM autok WHERE vasarlas_datuma< 1994-01-01;

  13. SELECT alk_nev,beosztas,fizetes FROM alkalmazott ORDER BY fizetes;

  14. SELECT * FROM alkalmazott ORDER BY beosztas,fizetes DESC;

  15. SELECT DISTINCT beosztas FROM alkalmazott;

  16. SELECT * FROM alkalmazott WHERE beosztas='ELADO' OR beosztas='SZERELO' ORDER BY fizetes DESC;

  17. SELECT * FROM alkalmazott WHERE fizetes> 50000 OR beosztas='SZERELO' ORDER BY belepes;

  18. SELECT * FROM alkalmazott WHERE fizetes< 60000 OR fizetes> 100000;

  19. SELECT * FROM alkalmazott WHERE reszleg_kod='20' OR reszleg_kod='50';

  20. SELECT * FROM alkalmazott WHERE reszleg_kod> '30';

  21. SELECT * FROM reszleg WHERE reszleg_cim<> 'BUDAPEST';

  22. SELECT ugyfel_nev,varos FROM ugyfelek ORDER BY varos;

  23. SELECT ugyfel_nev,fizetesi_mod FROM ugyfelek WHERE fizetesi_mod='K';

  24. SELECT ugyfel_nev,fizetesi_mod FROM ugyfelek WHERE fizetesi_mod='A';

  25. SELECT * FROM rendeles WHERE napok > 7;

  26. SELECT * FROM rendeles WHERE kolcson_dij> 0;

  27. SELECT * FROM auto_csop ORDER BY km_dij DESC;

  28. SELECT tipus_nev, szerviz_km FROM tipusok ORDER BY tipus_nev;

  29. SELECT * FROM autok WHERE futott_km > 100000;

  30. SELECT * FROM autok WHERE allapot='A';

  31. SELECT * FROM autok WHERE allapot='S' OR allapot='X';

  32. SELECT * FROM ugyfelek ORDER BY ugyfel_nev;

  33. SELECT rendszam,tipus_nev FROM autok WHERE auto_csop_nev='LUXUS';

  34. SELECT * FROM tipusok WHERE szerviz_km='15000';

  35. SELECT DISTINCT reszleg_cim FROM reszleg;

  36. SELECT * FROM ugyfelek WHERE varos='DEBRECEN';

  37. SELECT DISTINCT rendelo_szemely FROM rendeles ORDER BY rendelo_szemely;

  38. SELECT alk_nev, beosztas, fizetes + COALESCE(premium,0) as "emelt fizetés" FROM alkalmazott ORDER BY alk_nev;

  39. SELECT * FROM alkalmazott WHERE fizetes BETWEEN 50000 AND 100000;

  40. SELECT * FROM autok WHERE futott_km BETWEEN 120000 AND 200000;

  41. SELECT * FROM alkalmazott WHERE beosztas IN ('ELADO','TELEPHELYVEZETO' );

  42. SELECT * FROM alkalmazott WHERE reszleg_kod IN ('10','20','60');

  43. SELECT * FROM alkalmazott WHERE alk_nev LIKE 'H%';

  44. SELECT * FROM alkalmazott WHERE alk_nev LIKE'%O%';

  45. SELECT * FROM alkalmazott WHERE alk_nev LIKE'_O%';

  46. SELECT * FROM reszleg WHERE reszleg_nev NOT LIKE '%AUTO%';

  47. SELECT * FROM alkalmazott WHERE (reszleg_kod=10 AND beosztas='ELADO') OR premium IS NULL;

  48. SELECT * FROM alkalmazott WHERE fizetes BETWEEN 60000 AND 90000 AND beosztas NOT IN('TELEPHELYVEZETO','ELADO');

  49. SELECT * FROM alkalmazott WHERE premium IS NULL;

  50. SELECT * FROM alkalmazott WHERE fizetes < 2*COALESCE(premium,0);

  51. SELECT * FROM rendeles WHERE km_veg-km_kezdet> =1000 OR napok > 10;

  52. SELECT * FROM rendeles WHERE rendszam IN ('ABC-123','ABR-047','BAH-115','CDE-324');

  53. SELECT * FROM rendeles WHERE tipus_nev LIKE '%RENAULT%' AND kolcson_dij IS NULL;

  54. SELECT * FROM auto_csop WHERE km_dij BETWEEN 100 AND 300 AND napi_dij< 6000;

  55. SELECT * FROM tipusok WHERE auto_csop_nev LIKE'E%';

  56. SELECT * FROM tipusok WHERE tipus_nev NOT LIKE 'RENAULT%' AND szerviz_km BETWEEN 10000 AND 15000;

  57. SELECT * FROM rendeles WHERE (fizetes='N' AND kolcson_kezdete< 1994-01-01) OR (fizetes='Y' AND kolcson_kezdete> 1994-05-01);

  58. SELECT INITCAP(alk_nev) AS alk_nev,LOWER(beosztas) AS beosztas FROM alkalmazott;

  59. SELECT LOWER(tipus_nev) astipus_nev,rendszam FROM autok;

  60. SELECT 'UGYFEL: ',ugyfel_szam,ugyfel_nev,fizetesi_mod FROM ugyfelek WHERE fizetesi_mod='K';

  61. SELECT ugyfel_szam,ugyfel_nev, COALESCE(INITCAP(megbizott),'***********') as COALESCE_Init FROM ugyfelek;

  62. SELECT INITCAP('minden|szonagy,betuvel.kezdodik') asnagybetuk;

  63. SELECT LOWER(beosztas) asbeosztas,LENGTH(alk_nev) asalk_nevFROM alkalmazott;

  64. SELECT beosztas,LOWER(SUBSTR(beosztas,4,3)) asbeosztas FROM alkalmazott;

  65. SELECT RPAD(tipus_nev,20,'*') astipus_nev FROM tipusok;

  66. SELECT LPAD(tipus_nev,20,'-') astipus_nev FROM tipusok;

  67. SELECT LTRIM('KAKAS','AK') asLtrim;

  68. SELECT RPAD(beosztas,25,'*') asbeosztas FROM alkalmazott;

  69. SELECT LPAD(beosztas,25,'-') asbeosztas FROM alkalmazott;

  70. SELECT alk_nev,fizetes,%(fizetes/5000) otezer,%((fizetes%5000)/1000,0) ezer,%(((fizetes%5000)%1000)/500,0) otszaz, %((((fizetes%5000)%1000)%500)/100,0) szaz FROM alkalmazott;

  71. SELECT ROUND(3*napi_dij+275*km_dij) FROM auto_csop WHERE auto_csop_nev='NORMAL';

  72. SELECT tipus_nev,'KM ORA ALLAS:',ROUND(futott_km,-4) FROM autok WHERE auto_csop_nev='NORMAL';

  73. SELECT ABS(1000),ABS(-100),ABS(-27.11);

  74. SELECT SQRT(25),SQRT(-36);

  75. SELECT POWER(2,5);

  76. SELECT ROUND(-123.456,2),ROUND(123.456,0),ROUND(123.456,-2),ROUND(-123.4567,2);

  77. SELECT TRUNC(123.45,1),TRUNC(123.45,0),TRUNC(123.45,-1),TRUNC(123.45,-2);

  78. SELECT SIGN(10),SIGN(0),SIGN(-5);

  79. SELECT CEIL(6.1),CEIL(-6.1);

  80. SELECT FLOOR(6.1),FLOOR(-6.1);

  81. SELECT MOD(10,3);

  82. SELECT rendszam,tipus_nev,TO_CHAR(vasarlas_datuma,'the DD day of Mon, YYYY') FROM autok WHERE auto_csop_nev='NORMAL';

  83. SELECT * FROM rendeles WHERE kolcson_kezdete-rendeles_datum< 7;

  84. SELECT * FROM rendeles WHERE napok > 10;

  85. SELECT * FROM rendeles WHERE sysdate-rendeles_datum< 7;

  86. SELECT rendszam, TRUNC(MONTHS_BETWEEN(sysdate,vasarlas_datuma),0) ho, (ar/100)*3 amort_ert,arvasarlasi_ar, ar-((ar/100)*3*TRUNC(MONTHS_BETWEEN(sysdate,vasarlas_datuma),0))jelenlegi_ert FROM autok WHERE vasarlas_datuma< 1994-01-01;

  87. SELECT ugyfel_szam,TO_CHAR(rendeles_datum,'YYYY.MM.DD') rendeles, TO_CHAR(kolcson_kezdete,'YYYY.MM.DD') kolcsonzes FROM rendeles;

  88. SELECT sysdate+90;

  89. SELECT belepes,ADD_MONTHS(belepes,5) FROM alkalmazott;

  90. SELECT alk_nev,MONTHS_BETWEEN(sysdate,belepes) FROM alkalmazott;

  91. SELECT NEXT_DAY(sysdate,'Péntek'), LAST_DAY(sysdate);

  92. SELECT TO_DATE('1994.06.07.','YYYY.MM.DD.');

  93. SELECT TO_CHAR(belepes,'YYYY.Month.DAY') FROM alkalmazott;

  94. SELECT TO_CHAR(TO_DATE('1956/09/02','YYYY/MM/DD'), 'Year Month Day');

  95. SELECT fizetes,premium,GREATEST(fizetes,COALESCE(premium,0)) FROM alkalmazott;

  96. SELECT beosztas,CASE WHEN beosztas='IGAZGATO' THEN 'FONOK' WHEN 'TELEPHELYVEZETO' THEN 'KISFONOK' ELSE 'BEOSZTOTT') AS minősites FROM alkalmazott;

  97. SELECT reszleg_cim,CASE WHEN reszleg_cim='BUDAPEST' THEN 'FOVAROSI' ELSE 'VIDEKI' AS TIPUS FROM reszleg;

  98. SELECT MIN(fizetes),MAX(fizetes),SUM(fizetes),AVG(fizetes),COUNT(fizetes) FROM alkalmazott;

  99. SELECT reszleg_kod,MIN(fizetes),MAX(fizetes),SUM(fizetes),AVG(fizetes),COUNT(fizetes) FROM alkalmazott GROUP BY reszleg_kod;

  100. SELECT beosztas,MIN(fizetes),MAX(fizetes),SUM(fizetes),AVG(fizetes),COUNT(fizetes) FROM alkalmazott GROUP BY beosztas;

  101. SELECT reszleg_kod,AVG(fizetes) FROM alkalmazott GROUP BY reszleg_kod HAVING AVG(fizetes) > 8000;

  102. SELECT reszleg_kod FROM alkalmazott GROUP BY reszleg_kod HAVING COUNT(*)=2;

  103. SELECT MAX(ar) FROM autok;

  104. SELECT auto_csop_nev,COUNT(*) FROM autok GROUP BY auto_csop_nev;

  105. SELECT COUNT(*) FROM ugyfelek GROUP BY fizetesi_mod HAVING fizetesi_mod<> 'A';

  106. SELECT tipus_nev,COUNT(*),AVG(ar) FROM autok GROUP BY tipus_nev ORDER BY tipus_nev;

  107. SELECT AVG(ar) FROM autok;

  108. SELECT * FROM autok WHERE futott_km = (SELECT MAX(futott_km) FROM autok);

  109. SELECT * FROM autok WHERE futott_km = (SELECT MIN(futott_km) FROM autok);

  110. SELECT COUNT(*) FROM autok;

  111. SELECT tipus_nev,AVG(futott_km) FROM autok GROUP BY tipus_nev;

  112. SELECT AVG(fizetes)-MAX(fizetes),AVG(fizetes)-MIN(fizetes) FROM alkalmazott;

  113. SELECT tipus_nev,AVG(ar),allapot,COUNT(allapot) FROM autok GROUP BY tipus_nev,allapot HAVING allapot='A';

  114. SELECT AVG(napok) FROM rendeles WHERE kolcson_kezdete> 1993-03-30;

  115. SELECT COUNT(kolcson_dij) FROM rendeles;

  116. SELECT * FROM rendeles WHERE km_veg-km_kezdet=(SELECT MAX(km_veg-km_kezdet) FROM rendeles) OR km_veg-km_kezdet=(SELECT MIN(km_veg-km_kezdet) FROM rendeles);

  117. SELECT napok,AVG(km_veg-km_kezdet) FROM rendeles WHERE km_veg IS NOT NULL GROUP BY napok;

  118. SELECT tipus_nev,COUNT(*) FROM rendeles GROUP BY tipus_nev ORDER BY 2 DESC;

  119. SELECT varos,count(*) FROM ugyfelek GROUP BY varos ORDER BY 2 DESC;

  120. SELECT alk_nev,beosztas,a.reszleg_kod,reszleg_nev,reszleg_cim FROM alkalmazott a,reszleg r WHERE a.reszleg_kod=r.reszleg_kod ORDER BY alk_nev;

  121. SELECT alk_nev,a.reszleg_kod,reszleg_cim FROM alkalmazott a,reszleg r WHERE a.reszleg_kod=r.reszleg_kod AND beosztas='ELADO';

  122. SELECT * FROM alkalmazott a, reszleg r WHERE a.reszleg_kod=r.reszleg_kod AND reszleg_cim='GYOR';

  123. SELECT reszleg_nev,MIN(fizetes),MAX(fizetes) FROM alkalmazott a, reszleg r WHERE a.reszleg_kod=r.reszleg_kod GROUP BY reszleg_nev;

  124. SELECT reszleg_cim,AVG (fizetes),COUNT(alk_nev) FROM alkalmazott a,reszleg r WHERE a.reszleg_kod=r.reszleg_kod GROUP BY reszleg_cim;

  125. SELECT alk_nev,beosztas,fizetes FROM alkalmazott WHERE fizetes> (SELECT fizetes FROM alkalmazott WHERE alk_nev='BALOGH');

  126. SELECT * FROM reszleg WHERE reszleg_kod NOT IN (SELECT reszleg_kod FROM alkalmazott);

  127. SELECT rendszam,autok.tipus_nev FROM autok,tipusok WHERE futott_km/szerviz_km> 2 AND autok.tipus_nev=tipusok.tipus_nev;

  128. SELECT rendszam,tipus_nev,napi_dij FROM autok,auto_csop WHERE napi_dij BETWEEN 3000 AND 10000 AND autok.auto_csop_nev=auto_csop.auto_csop_nev;

  129. SELECT u.ugyfel_szam,ugyfel_nev,varos,cim,rendeles_datum,kolcson_kezdete FROM rendelesr,ugyfelek u WHERE r.ugyfel_szam=u.ugyfel_szam AND km_veg IS NULL;

  130. SELECT ugyfel_szam,r.tipus_nev,rendszam,napi_dij,km_dij,rendeles_datum FROM rendelesr,auto_csopcs,tipusok t WHERE r.tipus_nev=t.tipus_nev AND t.auto_csop_nev=cs.auto_csop_nev AND t.auto_csop_nev='LUXUS';

  131. SELECT r.rendszam, r.tipus_nev, kolcson_dij, rendeles_datum, kolcson_kezdete, r.ugyfel_szam, ugyfel_nev, varos, cim FROM rendeles r,ugyfelek u, tipusok t WHERE r.ugyfel_szam=u.ugyfel_szam AND r.tipus_nev=t.tipus_nev AND kolcson_kezdete> 1994-05-01;

  132. SELECT u.ugyfel_szam,ugyfel_nev,varos,cim,megbizott FROM ugyfeleku,rendeles r WHERE u.ugyfel_szam=r.ugyfel_szam(+) AND r.ugyfel_szam IS NULL;

  133. SELECT a.rendszam,a.tipus_nev,napi_dij FROM autoka,auto_csopcs WHERE a.auto_csop_nev=cs.auto_csop_nev AND napi_dij< (SELECT napi_dij FROM auto_csopcs,tipusok t WHERE cs.auto_csop_nev=t.auto_csop_nev AND t.tipus_nev='RENAULT 19');

  134. SELECT rendeles_szam,rendelo_szemely,t.tipus_nev,leiras,rendeles_datum FROM rendelesr,tipusok t WHERE r.tipus_nev=t.tipus_nev;

  135. SELECT rendszam,tipus_nev,r.ugyfel_szam, ugyfel_nev,rendeles_datum FROM rendelesr,ugyfelek u WHERE r.ugyfel_szam=u.ugyfel_szam AND km_veg IS NULL;

  136. SELECT rendszam,tipus_nev FROM autok UNION SELECT rendszam,tipus_nev FROM rendeles;

  137. SELECT rendszam,tipus_nev FROM autok MINUS SELECT rendszam,tipus_nev FROM rendeles;

  138. SELECT alk_nev,beosztas FROM alkalmazott WHERE beosztas=(SELECT beosztas FROM alkalmazott WHERE alk_nev='HERCEG');

  139. SELECT alk_nev,beosztas,fizetes FROM alkalmazott WHERE (beosztas,fizetes)=(SELECT beosztas,fizetes FROM alkalmazott WHERE alk_nev='BOGNAR');

  140. SELECT alk_nev,fizetes FROM alkalmazott a WHERE fizetes< (SELECT AVG (fizetes) FROM alkalmazott b WHERE a.beosztas=b.beosztas);

  141. SELECT rendszam,tipus_nev,futott_km FROM autok WHERE futott_km> (SELECT futott_km FROM autok WHERE rendszam='ABR-115');

  142. SELECT ugyfel_szam,tipus_nev,rendeles_datum FROM rendeles WHERE rendszam=ANY (SELECT rendszam FROM autok WHERE auto_csop_nev='NORMAL');

  143. SELECT ugyfel_nev,cim,varos,orszag FROM ugyfelek WHERE ugyfel_szam IN (SELECT ugyfel_szam FROM rendeles WHERE tipus_nev='RENAULT 19');

  144. SELECT ugyfel_szam,ugyfel_nev,varos FROM ugyfelek WHERE ugyfel_szam IN (SELECT ugyfel_szam FROM rendeles WHERE rendelo_szemely='HOTEL CIVIS');

  145. SELECT tipus_nev,rendszam,kolcson_kezdete FROM rendeles WHERE ugyfel_szam IN (SELECT ugyfel_szam FROM ugyfelek WHERE varos IN ('DEBRECEN','BUDAPEST'));

  146. SELECT DISTINCT 'IGEN' FROM rendeles WHERE EXISTS (SELECT * FROM ugyfelek WHERE ugyfel_nev='PAPP AGNES');

  147. SELECT * FROM rendeles WHERE tipus_nev IN (SELECT tipus_nev FROM tipusok WHERE szerviz_km> (SELECT avg(szerviz_km) FROM tipusok));

  148. SELECT ugyfel_nev,ugyfel_szam FROM ugyfelek WHERE fizetesi_mod= (SELECT fizetesi_mod FROM ugyfelek WHERE ugyfel_nev='MOLNAR PETER');

  149. SELECT alk_nev,alk_kod FROM alkalmazott WHERE beosztas IN (SELECT beosztas FROM alkalmazott a,reszleg r WHERE a.reszleg_kod=r.reszleg_kod AND reszleg_nev='KOZPONT');

  150. SELECT * FROM alkalmazott WHERE beosztas IN (SELECT beosztas FROM alkalmazott WHERE alk_nev IN ('KIRALY','KOVACS'));

  151. SELECT ugyfel_nev, varos,cim FROM ugyfelek, rendeles WHERE kolcson_dij> (SELECT AVG(kolcson_dij) FROM rendeles) AND rendeles.ugyfel_szam = ugyfelek.ugyfel_szam;

  152. SELECT u.ugyfel_nev, u.ugyfel_szam FROM ugyfelek u,autok a,rendeles r WHERE u.ugyfel_szam=r.ugyfel_szam AND r.rendszam=a.rendszam AND r.rendszam IN (SELECT DISTINCT rendszam FROM autok WHERE allapot='X');

  153. CREATE TABLE dolgozok (kod VARCHAR2(4) NOT NULL,nev VARCHAR2(30) NOT NULL, fizetesNUMBER,szul_dat DATE);

  154. ALTER TABLE dolgozok ADD cim VARCHAR2(30);

  155. ALTER TABLE dolgozok MODIFY nev VARCHAR2(40);

  156. CREATE TABLE uj_reszl1 AS SELECT * FROM reszleg WHERE 1=2;

  157. CREATE TABLE uj_reszl2 AS SELECT * FROM reszleg;

  158. RENAME uj_reszl2 TO reszleg2;

  159. CREATE VIEW videk AS SELECT * FROM reszleg WHERE reszleg_cim<> 'BUDAPEST';

  160. CREATE VIEW nezet AS SELECT alk_kod, alk_nev, beosztas, a.reszleg_kod, reszleg_nev, reszleg_cim FROM alkalmazott a, reszleg r WHERE a.reszleg_kod = r.reszleg_kod AND beosztas='ELADO';

  161. CREATE VIEW atlag AS SELECT reszleg_kod,AVG(fizetes) x FROM alkalmazott GROUP BY reszleg_kod; SELECT alk_nev,fizetes,a.reszleg_kod,x FROM alkalmazott a,atlag b WHERE a.reszleg_kod=b.reszleg_kod;

  162. SELECT alk_nev,fizetes,reszleg_nev,reszleg_cim,x FROM alkalmazott a,reszlegr,atlag m WHERE a.reszleg_kod=r.reszleg_kod AND a.reszleg_kod=m.reszleg_kod;

  163. CREATE VIEW uj_rendeles AS SELECT ugyfel_szam, auto_csop_nev, autok.tipus_nev, rendeles_datum, rendelo_szemely, kolcson_kezdete, napok, fizetes FROM rendeles, autok WHERE autok.rendszam=rendeles.rendszam;

  164. SELECT * FROM uj_rendeles;

  165. DROP VIEW uj_rendeles;

  166. CREATE VIEW uj_rendeles AS SELECT ugyfel_szam, auto_csop_nev, autok.tipus_nev, rendeles_datum, rendelo_szemely, kolcson_kezdete, napok, fizetes, km_veg-km_kezdet futott_km FROM rendeles,autok WHERE autok.rendszam=rendeles.rendszam;

  167. CREATE VIEW uj_ugyfel AS SELECT u.ugyfel_szam, ugyfel_nev, megbizott, r.tipus_nev, r.rendszam, rendeles_datum, km_veg km_kezdet km_futott, km_dij, napi_dij FROM ugyfelek u, rendeles r, tipusok t, auto_csop cs WHERE r.ugyfel_szam=u.ugyfel_szam  AND r.tipus_nev = t.tipus_nev AND t.auto_csop_nev=cs.auto_csop_nev;

  168. CREATE VIEW kolcson_szam AS SELECT rendszam,COUNT(*) x FROM rendeles GROUP BY rendszam;

  169. SELECT a.rendszam,tipus_nev,COALESCE(x,0) FROM autoka,kolcson_szam k WHERE a.rendszam=k.rendszam(+);

  170. CREATE TABLE karbantart AS SELECT rendszam,ut_szerviz,futott_km,szerviz_km FROM autoka,tipusok t WHERE a.tipus_nev=t.tipus_nev;

  171. CREATE TABLE ELADO_autok (rendsz,tip,vetel_datum,km_ora) AS SELECT rendszam,tipus_nev,vasarlas_datuma,futott_km FROM autok WHERE 1=2;

  172. ALTER TABLE karbantart MODIFY futott_kmNUMBER(8);

  173. ALTER TABLE karbantart ADD kovetkezo_szerviz NUMBER(8);

  174. CREATE INDEX auto_index ON autok(rendszam);

  175. CREATE INDEX rendindex ON rendeles(ugyfel_szam,tipus_nev);

  176. DROP TABLE uj_reszl1;

  177. INSERT INTO reszleg2 VALUES ('80','AUTOKOLCSONZO','SZEGED');

  178. INSERT INTO reszleg2 SELECT * FROM reszleg WHERE reszleg_nev NOT LIKE 'KOZPONT';

  179. INSERT INTO videk VALUES ('99','FORD-AUTO','DEBRECEN');

  180. SELECT * FROM videk;

  181. SELECT * FROM reszleg;

  182. UPDATE reszleg2 SET reszleg_nev='IRODAK' WHERE reszleg_nev='KOZPONT';

  183. UPDATE alkalmazott SET fizetes=1.15*fizetes WHERE reszleg_kod='10';

  184. UPDATE alkalmazott SET premium=COALESCE(premium,0) + 10000 WHERE beosztas='ELADO';

  185. DELETE FROM reszleg2 WHERE reszleg_cim='DEBRECEN';

  186. INSERT INTO autok VALUES('CAR-342', 'RENAULT ESPACE', 'LUXUS', 1994-06-23, 1400000, 100,0, 'A', 20, 1234);

  187. INSERT INTO ELADO_autok SELECT rendszam,tipus_nev,vasarlas_datuma,futott_km FROM autok WHERE futott_km> 150000;

  188. SELECT * FROM ELADO_autok;

  189. UPDATE auto_csop SET km_dij=1.1*km_dij;

  190. UPDATE tipusok SET szerviz_km=12000 WHERE auto_csop_nev='NORMAL';

  191. DELETE FROM autok WHERE futott_km> 150000;

  192. DELETE FROM autok WHERE rendszam='ABC-022';

  193. CREATE TABLE ex_autok AS SELECT * FROM autok WHERE 1=2;

  194. INSERT INTO ex_autok SELECT * FROM autok WHERE auto_csop_nev='EXTRA';

  195. UPDATE ex_autok SET reszleg_kod='99' WHERE tipus_nev='OPEL ASTRA';

  196. DELETE FROM ex_autok WHERE reszleg_kod<> '99';

  197. INSERT INTO ELADO_autok SELECT a.rendszam, a.tipus_nev, vasarlas_datuma, futott_km FROM autok a WHERE futott_km> (SELECT 1.5*avg(futott_km) FROM autok b WHERE a.auto_csop_nev=b.auto_csop_nev GROUP BY auto_csop_nev);

  198. CREATE SEQUENCE ugyfel_szam START WITH 351;

  199. INSERT INTO ugyfelek VALUES (ugyfel_szam.nextval, 'KARAT KFT','NYUGATI U. 7.','DEBRECEN',NULL,'4025','NAGY PETERNE','A');

  200. CREATE SEQUENCE rendeles_sorszam START WITH 12346;

  201. INSERT INTO rendeles VALUES (rendeles_sorszam.nextval, ugyfel_szam.currval, 1994-06-24,'KISS JANOSNE', 1994-07-01,5, NULL, 'SKODA CL', NULL, NULL, NULL, NULL);

  202. DELETE FROM alkalmazott WHERE beosztas='ELADO';

  203. UPDATE alkalmazott SET fizetes=1.2*fizetes;

  204. GRANT SELECT ON rendeles TO toth;

  205. GRANT SELECT, UPDATE ON rendeles TO toth;

  206. GRANT ALL ON rendeles TO toth;

  207. GRANT SELECT ON rendeles TO public;

  208. GRANT SELECT ON rendeles TO toth WITH GRANT OPTION;

  209. REVOKE DELETE,UPDATE ON rendeles FROM toth;