Advertisement
Guest User

Untitled

a guest
Jan 9th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.19 KB | None | 0 0
  1. # filmler tablosunu yaratmak için
  2.  
  3. CREATE TABLE filmler (
  4. film_id NUMBER PRIMARY KEY,
  5. film_ismi VARCHAR2(140) NOT NULL,
  6. yili NUMBER(4) NOT NULL,
  7. yonetmen VARCHAR2(140) NOT NULL,
  8. turu VARCHAR2(140) NOT NULL,
  9. imdb_puani NUMBER(2, 1) NOT NULL
  10. );
  11.  
  12. # filmler tablosuna veri girmek için
  13.  
  14. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  15. VALUES (1, 'Monster Trucks', 2016, 'Chris Wedge', 'Animation', 5.4);
  16.  
  17. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  18. VALUES (2, 'Interstellar', 2014, 'Christopher Nolan', 'Sci-fi', 8.6);
  19.  
  20. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  21. VALUES (3, 'The Good, the Bad and the Ugly', 1966, 'Sergio Leone', 'Western', 8.9);
  22.  
  23. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  24. VALUES (4, 'WALL·E', 2008, 'Andrew Stanton', 'Animation', 8.4);
  25.  
  26. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  27. VALUES (5, 'Seven Samurai', 1954, 'Akira Kurosawa', 'Adventure', 8.7);
  28.  
  29. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  30. VALUES (6, 'BAD MOVIE', 1954, 'BAD DIRECTOR', 'Adventure', 1.0);
  31.  
  32. INSERT INTO filmler(film_id, film_ismi, yili, yonetmen, turu, imdb_puani)
  33. VALUES (7, 'Not good movie', 1954, 'NOT GOOD DIRECTOR', 'Comedy', 1.0);
  34.  
  35.  
  36. # ...
  37.  
  38. CREATE TABLE uyeler (
  39. uye_id NUMBER PRIMARY KEY,
  40. isim VARCHAR2(140) NOT NULL,
  41. soyisim VARCHAR2(140) NOT NULL,
  42. email VARCHAR2(140),
  43. telefon VARCHAR2(140) NOT NULL,
  44. adres VARCHAR2(140) NOT NULL
  45. );
  46.  
  47. INSERT INTO uyeler(uye_id, isim, soyisim, email, telefon, adres)
  48. VALUES (1, 'Gizem', 'Yilmazturk', 'gy@mail.com', '555-555 5555', 'Istanbul');
  49.  
  50. INSERT INTO uyeler(uye_id, isim, soyisim, email, telefon, adres)
  51. VALUES (2, 'Yusuf', 'Yalim', 'yy@mail.com', '555-555 5555', 'Istanbul');
  52.  
  53. INSERT INTO uyeler(uye_id, isim, soyisim, email, telefon, adres)
  54. VALUES (3, 'Gunes', 'Erduydu', 'ge@mail.com', '555-555 5555', 'Istanbul');
  55.  
  56. INSERT INTO uyeler(uye_id, isim, soyisim, email, telefon, adres)
  57. VALUES (4, 'Gizem', 'Kapci', 'gk@mail.com', '555-555 5555', 'Istanbul');
  58. # ...
  59.  
  60.  
  61. # stok tablosunu yaratıp veri girmek için
  62. CREATE TABLE stok (
  63. stok_id NUMBER PRIMARY KEY,
  64. film_id NUMBER,
  65. CONSTRAINT fk_film FOREIGN KEY (film_id) REFERENCES filmler(film_id)
  66. );
  67.  
  68. INSERT INTO stok(stok_id, film_id)
  69. VALUES (1, 1);
  70.  
  71. INSERT INTO stok(stok_id, film_id)
  72. VALUES (2, 1);
  73.  
  74. INSERT INTO stok(stok_id, film_id)
  75. VALUES (3, 2);
  76.  
  77. INSERT INTO stok(stok_id, film_id)
  78. VALUES (4, 3);
  79.  
  80. INSERT INTO stok(stok_id, film_id)
  81. VALUES (5, 4);
  82.  
  83. INSERT INTO stok(stok_id, film_id)
  84. VALUES (6, 2);
  85.  
  86. INSERT INTO stok(stok_id, film_id)
  87. VALUES (7, 5);
  88.  
  89. INSERT INTO stok(stok_id, film_id)
  90. VALUES (8, 6);
  91.  
  92. INSERT INTO stok(stok_id, film_id)
  93. VALUES (9, 7);
  94.  
  95. # ...
  96.  
  97.  
  98. CREATE TABLE odunc (
  99. odunc_id NUMBER PRIMARY KEY,
  100. odunc_alma_tarihi DATE NOT NULL,
  101. iade_tarihi DATE,
  102. stok_id NUMBER,
  103. uye_id NUMBER,
  104. CONSTRAINT fk_stok FOREIGN KEY (stok_id) REFERENCES filmler(film_id),
  105. CONSTRAINT fk_uye FOREIGN KEY (uye_id) REFERENCES filmler(film_id)
  106. );
  107.  
  108. INSERT INTO odunc(odunc_id, odunc_alma_tarihi, stok_id, uye_id)
  109. VALUES (1, TO_DATE('01/01/2017', 'dd/mm/yyyy'), 1, 1);
  110.  
  111. INSERT INTO odunc(odunc_id, odunc_alma_tarihi, stok_id, uye_id)
  112. VALUES (2, TO_DATE('01/01/2017', 'dd/mm/yyyy'), 5, 3);
  113.  
  114. INSERT INTO odunc(odunc_id, odunc_alma_tarihi, stok_id, uye_id)
  115. VALUES (3, TO_DATE('01/01/2017', 'dd/mm/yyyy'), 3, 2);
  116.  
  117.  
  118. # ...
  119.  
  120.  
  121. # ---------------------------------------------------------------------------------------------------
  122. # Zizos bunlari teker, teker dene olur mu? NOLUR <3
  123.  
  124. # Örnek sorgular
  125.  
  126. # Animasyon Olan filmleri Göster -- SELECT ORNEGI
  127. SELECT * FROM filmler WHERE turu = 'Animation';
  128.  
  129. # stoktaki filmlerin listesi -- SELECT, JOIN
  130. SELECT * FROM stok
  131. JOIN filmler USING (film_id);
  132.  
  133. # stoktaki filmlerin adedi -- SELECT, JOIN
  134. SELECT COUNT(*) AS FILM_ADEDI
  135. FROM stok
  136. JOIN filmler USING (film_id);
  137.  
  138. # filmleri turlere gore gruplayip adedini veren sorgu -- SELECT, GROUP BY
  139. SELECT TURU, COUNT(film_id) AS film_adedi
  140. FROM FILMLER
  141. GROUP BY TURU;
  142.  
  143. # stokda aynı birden fazla aynı türden olan filmlerin sayısı -- SELECT, SUBQUERY, GROUP BY, HAVING
  144. SELECT subquery1.TURU, count(*)
  145. FROM (SELECT * FROM stok JOIN filmler USING (film_id)) subquery1
  146. GROUP BY subquery1.TURU
  147. HAVING COUNT(*) > 1;
  148.  
  149. # Iade edilmeye odunc listesi -- SELECT, JOIN O
  150. SELECT * FROM ODUNC
  151. JOIN STOK USING (STOK_ID)
  152. JOIN FILMLER USING (FILM_ID)
  153. JOIN UYELER USING (UYE_ID)
  154. WHERE ODUNC.IADE_TARIHI IS NULL;
  155.  
  156. # iade edilme -- UPDATE
  157. UPDATE ODUNC
  158. SET iade_tarihi = TO_DATE('22/08/2017', 'dd/mm/yyyy')
  159. WHERE odunc_id = 1;
  160.  
  161. # iade edilmis odunc listesi -- SELECT, JOIN
  162. SELECT * FROM ODUNC
  163. JOIN STOK USING (STOK_ID)
  164. JOIN FILMLER USING (FILM_ID)
  165. JOIN UYELER USING (UYE_ID)
  166. WHERE ODUNC.IADE_TARIHI IS NOT NULL;
  167.  
  168. # ODUNC ALINMAMIŞ STOK LISTESI -- SELECT, SUBQUERY
  169. SELECT * FROM STOK
  170. JOIN FILMLER USING(FILM_ID)
  171. WHERE STOK_ID NOT IN ( SELECT STOK_ID FROM ODUNC WHERE ODUNC.IADE_TARIHI IS NULL);
  172.  
  173. # FILM TURLERI -- SELECT, DISTINCT
  174. SELECT DISTINCT TURU FROM FILMLER;
  175.  
  176. # TURLERE GORE ORTALAMA PUAN -- SELECT, AVG
  177. SELECT TURU, AVG(IMDB_PUANI) AS ORTALAMA FROM FILMLER GROUP BY TURU;
  178.  
  179. # ismi `Not good movie` olan puanını artır. -- UPDATE
  180. UPDATE FILMLER
  181. SET IMDB_PUANI = 3.5
  182. WHERE FILM_ISMI = 'Not good movie';
  183.  
  184. # puani 3 ile 4 olan filmlerin ismini `Avarage movie` olarak degiştir -- UPDATE
  185. UPDATE FILMLER
  186. SET FILM_ISMI = 'Avarage movie'
  187. WHERE IMDB_PUANI BETWEEN 3 AND 4;
  188.  
  189. # ismi gizem olan kullaniclarin adresini `Ankara` yap -- UPDATE, SUBQUERY
  190. UPDATE UYELER
  191. SET ADRES = 'ANKARA'
  192. WHERE UYE_ID IN (SELECT UYE_ID FROM UYELER WHERE ISIM = 'Gizem');
  193.  
  194. # puani 3'den az olan filmlerin puanini artir -- UPDATE
  195. UPDATE FILMLER
  196. SET IMDB_PUANI = IMDB_PUANI + 1
  197. WHERE IMDB_PUANI < 3;
  198.  
  199. # en düsük puanlı filmi sil -- DELETE, SUBQUERY
  200. DELETE FROM FILMLER
  201. WHERE IMDB_PUANI = (SELECT MIN(IMDB_PUANI) FROM FILMLER);
  202.  
  203. # en dusuk puanli filmi stoktan sil -- DELETE, SUBQUERY
  204. DELETE FROM STOK
  205. WHERE FILM_ID = (
  206. SELECT FILM_ID FROM FILMLER
  207. WHERE IMDB_PUANI = (SELECT MIN(IMDB_PUANI) FROM FILMLER)
  208. );
  209.  
  210. # iade edilmis oduncleri sil -- DELETE
  211. DELETE FROM ODUNC
  212. WHERE IADE_TARIHI IS NOT NULL;
  213.  
  214. # ismi Gunes Erduydu olan uyeleri sil -- DELETE
  215. DELETE FROM UYELER
  216. WHERE ISIM = 'Gunes' AND SOYISIM = 'Erduydu';
  217.  
  218. # Komedi filmlerini sil -- DELETE
  219. DELETE FROM FILMLER
  220. WHERE TURU = 'Comedy';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement