Advertisement
BlyatBeard42

SQL_lesson 1

Feb 17th, 2020
1,379
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  I. Adott az alkal.dbf.
  2.  
  3.   1. Jelenítsük meg a neveket, beosztásokat és nemeket!
  4. SELECT nev, beosztas, nem FROM alkalm
  5.   2. Jelenítsük meg az 5000 lejnél nagyobb fizetésûek nevét, beosztását fizetés szerinti csökkenô sorrendben!
  6. SELECT nev, beosztas, fizu FROM alkalm WHERE fizu > 5000 ORDER BY fizu DESC
  7.   3. Irjuk ki a szakmunkások és mérnökök nevét!
  8. SELECT nev FROM alkalm WHERE beosztas='szakmunkas' OR beosztas='mernok'
  9.   4. Irjuk ki kor szerint növekô sorrendben az adatokat!
  10. SELECT* from alkalm order by szul_dat desc
  11.   5. Irjuk ki, hogy minden alkalmazott mennyit keresett egy év alatt!\
  12. SELECT nev, fizu*12 as atlag FROM alkalm
  13.   6. Irjuk ki az igazgatók átlagfizetését!
  14. SELECT AVG(fizu) as atlag FROM alkalm WHERE beosztas='igazgato'
  15.   7. Irjuk ki a nôk, férfiak legkisebb és legnagyobb fizetését!
  16. SELECT MIN(fizu), MAX(fizu) FROM alkalm WHERE nem='F'
  17. SELECT MIN(fizu), MAX(fizu) FROM alkalm WHERE nem='N'
  18. /SELECT MIN(fizu) as mini,MAX(fizu) as maxi,nem FROM alkal GROUP BY nem
  19. *  8. Irjuk ki a beosztásokat és, hogy mindenikbôl hány alkalmazott van!
  20. SELECT beosztas,COUNT(*) as db FROM alkal GROUP BY beosztas
  21.   9. Ird ki azoknak a nevét, akik szakmunkások, mérnökök vagy igazgatók.
  22. SELECT nev FROM alkalm WHERE beosztas='szakmunkas' OR beosztas='mernok' OR beosztas='igazgato'
  23.  10. Ird ki azoknak a nevét, akiknek a fizetése 3000 és 5000 közé esik.
  24. SELECT nev FROM alkalm WHERE fizu BETWEEN 3000 and 5000
  25.  11. Ird ki az olyan nôket, akiknek a neve 'D' betûvel kezdôdik
  26. SELECT nev FROM alkalm WHERE nev like "%D%" and nem='N'
  27.  12. Ird ki azokat akiknek a nevében szerepel az 'L' betû
  28. SELECT nev FROM alkalm WHERE nev like "%L%" OR "%l%"
  29.  13. Ird ki azokat akiknek a neve 'a' betûre végzôdik
  30. SELECT nev FROM alkalm WHERE nev like"%a%"
  31.  14. Ird ki a férfiak illetve nôk számát!
  32. SELECT COUNT(nem) as Ferfiszam FROM alkalm WHERE nem='F'
  33. SELECT COUNT(nem) as Noszam FROM alkalm WHERE nem='N'
  34. /SELECT nem,COUNT(*) FROM alkal GROUP BY nem
  35.  15. Irjuk ki azon beosztásokat, ahol az átlagfizetés nagyobb 4000-nél!
  36. SELECT beosztas,AVG(fizu) as atl fizu FROM alkal GROUP BY beosztas HAVING ATL(fizu)>4000
  37.  
  38.  II. Hozzátok létre az auto.dbf adattáblát:
  39.  Tulaj C(25), rendszam C(10), tipus C(20), szin C(15), gyart_ev N(4), ar N(20), km N(12)  
  40. 1. Írassuk ki a nem piros autók összes adatát!
  41. SELECT* FROM auto WHERE szin<>"piros"  
  42. 2. Írassuk ki a piros, kék, vagy zöld színû autók rendszámait!
  43. SELECT rendszam FROM auto WHERE Szin="piros" OR Szin="kek" OR Szin="zold"
  44. 3. Irassuk ki az autók típusait és árait euroban megadva (az aktuális átváltási arány: 1Euro=4.5 lej)!
  45. SELECT  tulaj,tipus,ar*4.8 FROM auto
  46. 4. Írassuk ki a legkisebb gyártási évet!
  47. SELECT  gyart_ev FROM auto
  48. 5. Írassuk ki az autók összértékét!
  49. SELECT  SUM(ar) FROM auto
  50. 6. Írassuk ki azt, hogy milyen autótípusok léteznek, és azt, hogy hány darab van belôlük!
  51. SELECT DISTINCT tipus FROM auto
  52. 7. Írassuk ki az autók típusait, és a típusok átlagárait!
  53. SELECT
  54. 8. Írassuk ki azon autók típusait és átlagéletkorát, amelyek átlagéletkora 10-nél nagyobb!
  55. SELECT tipus,AVG(YEAR(DATE())-gyart_ev) as kor FROM auto GROUP BY tipus HAVING YEAR(DATE())-gyart_ev>kor
  56. 9. Írassuk ki azokat az autókat, amelyek ára az átlagár alatt van!
  57. SELECT tulaj,rendszam FROM auto WHERE ar<(SELECT AVG(ar) FROM auto)
  58. 10. Irassuk ki azon autók adatait, amelyek 9000 km nél többet futottak és áruk 50000 lej alatt van!
  59. SELECT* FROM auto WHERE km>9000 AND ar<50000
  60. 11. Irassuk ki a legtöbbet és a legkevesebbet futott autó adatait!
  61. SELECT* FROM auto WHERE km=MIN(SELECT MIN(km) FROM auto) OR km=(SELECT MAX(km) FROM auto)
  62. 12. Irassuk ki, hogy az AUTO táblában hány autó adatai szerepelnek!
  63. SELECT COUNT(*)as db FROM auto
  64. 13. Hány olyan tulajdonos van, akinek a neve 'A' betûvel kezdôdik és tartalmaz 't' betût
  65. SELECT tulaj FROM auto WHERE nev like "%A%t%"
  66. 14. Ird ki azokat az autókat, amelyek 1990 és 2004 között gyártottak!
  67. SELECT* FROM auto WHERE gyart_ev>1990 AND gyart_ev<20
  68. *  8. Irjuk ki a beosztásokat és, hogy mindenikbôl hány alkalmazott van!
  69. SELECT beosztas,COUNT(*) as db FROM alkal GROUP BY beosztas
  70.   9. Ird ki azoknak a nevét, akik szakmunkások, mérnökök vagy igazgatók.
  71. SELECT nev FROM alkalm WHERE beosztas='szakmunkas' OR beosztas='mernok' OR beosztas='igazgato'
  72.  10. Ird ki azoknak a nevét, akiknek a fizetése 3000 és 5000 közé esik.
  73. SELECT nev FROM alkalm WHERE fizu BETWEEN 3000 and 5000
  74.  11. Ird ki az olyan nôket, akiknek a neve 'D' betûvel kezdôdik
  75. SELECT nev FROM alkalm WHERE nev like "%D%" and nem='N'
  76.  12. Ird ki azokat akiknek a nevében szerepel az 'L' betû
  77. SELECT nev FROM alkalm WHERE nev like "%L%" OR "%l%"
  78.  13. Ird ki azokat akiknek a neve 'a' betûre végzôdik
  79. SELECT nev FROM alkalm WHERE nev like"%a%"
  80.  14. Ird ki a férfiak illetve nôk számát!
  81. SELECT COUNT(nem) as Ferfiszam FROM alkalm WHERE nem='F'
  82. SELECT COUNT(nem) as Noszam FROM alkalm WHERE nem='N'
  83. /SELECT nem,COUNT(*) FROM alkal GROUP BY nem
  84.  15. Irjuk ki azon beosztásokat, ahol az átlagfizetés nagyobb 4000-nél!
  85. SELECT beosztas,AVG(fizu) as atl fizu FROM alkal GROUP BY beosztas HAVING ATL(fizu)>4000
  86.  
  87.  II. Hozzátok létre az auto.dbf adattáblát:
  88.  Tulaj C(25), rendszam C(10), tipus C(20), szin C(15), gyart_ev N(4), ar N(20), km N(12)  
  89. 1. Írassuk ki a nem piros autók összes adatát!
  90. SELECT* FROM auto WHERE szin<>"piros"  
  91. 2. Írassuk ki a piros, kék, vagy zöld színû autók rendszámait!
  92. SELECT rendszam FROM auto WHERE Szin="piros" OR Szin="kek" OR Szin="zold"
  93. 3. Irassuk ki az autók típusait és árait euroban megadva (az aktuális átváltási arány: 1Euro=4.5 lej)!
  94. SELECT  tulaj,tipus,ar*4.8 FROM auto
  95. 4. Írassuk ki a legkisebb gyártási évet!
  96. SELECT  gyart_ev FROM auto
  97. 5. Írassuk ki az autók összértékét!
  98. SELECT  SUM(ar) FROM auto
  99. 6. Írassuk ki azt, hogy milyen autótípusok léteznek, és azt, hogy hány darab van belôlük!
  100. SELECT DISTINCT tipus FROM auto
  101. 7. Írassuk ki az autók típusait, és a típusok átlagárait!
  102. SELECT
  103. 8. Írassuk ki azon autók típusait és átlagéletkorát, amelyek átlagéletkora 10-nél nagyobb!
  104. SELECT tipus,AVG(YEAR(DATE())-gyart_ev) as kor FROM auto GROUP BY tipus HAVING YEAR(DATE())-gyart_ev>kor
  105. 9. Írassuk ki azokat az autókat, amelyek ára az átlagár alatt van!
  106. SELECT tulaj,rendszam FROM auto WHERE ar<(SELECT AVG(ar) FROM auto)
  107. 10. Irassuk ki azon autók adatait, amelyek 9000 km nél többet futottak és áruk 50000 lej alatt van!
  108. SELECT* FROM auto WHERE km>9000 AND ar<50000
  109. 11. Irassuk ki a legtöbbet és a legkevesebbet futott autó adatait!
  110. SELECT* FROM auto WHERE km=MIN(SELECT MIN(km) FROM auto) OR km=(SELECT MAX(km) FROM auto)
  111. 12. Irassuk ki, hogy az AUTO táblában hány autó adatai szerepelnek!
  112. SELECT COUNT(*)as db FROM auto
  113. 13. Hány olyan tulajdonos van, akinek a neve 'A' betûvel kezdôdik és tartalmaz 't' betût
  114. SELECT tulaj FROM auto WHERE nev like "%A%t%"
  115. 14. Ird ki azokat az autókat, amelyek 1990 és 2004 között gyártottak!
  116. SELECT* FROM auto WHERE gyart_ev>1990 AND gyart_ev<2004
Advertisement
RAW Paste Data Copied
Advertisement