Advertisement
S_Madanska

28-2

Apr 29th, 2021
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 7.24 KB | None | 0 0
  1. ---------------------------------------------------------
  2. -----------------------insert ---------------------------
  3. ---------------------------------------------------------
  4. --insert into table( column1, column2, column3)
  5. --VALUES('value1' , value2, value3)
  6. ---------------------------------------------------------
  7.  
  8. INSERT INTO REGIONS(NAME) VALUES('EAST EUROPE')
  9.  
  10. SELECT * FROM REGIONS
  11.  
  12. INSERT INTO COUNTRIES(COUNTRY_ID, NAME, REGION_ID)
  13. VALUES('BG', 'BULGARIA', 1)
  14.  
  15. SELECT * FROM COUNTRIES
  16.  
  17. INSERT INTO CUSTOMERS(CUSTOMER_ID, COUNTRY_ID, FNAME, LNAME, ADDRESS, EMAIL, GENDER)
  18. VALUES(1001, 'BG', 'IVAN', 'IVANOV', 'PLD. BUL.BULGARIA', 'pan@abv.bg', 'M')
  19.  
  20. SELECT * FROM CUSTOMERS
  21.  
  22. INSERT INTO JOBS(JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY)
  23. VALUES('SA_REP', 'TRADER', 9000, 17000)
  24.  
  25. SELECT * FROM JOBS
  26.  
  27. INSERT INTO DEPARTMENTS(DEPARTMENT_ID, NAME, COUNTRY_ID, CITY, STATE, ADDRESS, POSTAL_CODE)
  28. VALUES(80, 'TRADING', 'BG', 'PLOVDIV', 'PLOVDIV', 'BUL.BULGARIA 102', '4000')
  29.  
  30. SELECT * FROM DEPARTMENTS
  31.  
  32. INSERT INTO EMPLOYEES(EMPLOYEE_ID, FNAME, LNAME, EMAIL, PHONE, HIRE_DATE, JOB_ID, SALARY, DEPARTMENT_ID)
  33. VALUES(1501, 'ILIYA', 'ZAGOROV', 'iliya@abv.bg', '089999999', CONVERT(DATE, '28-04-2021', 105), 'SA_REP', 1900, 80)
  34.  
  35. SELECT * FROM EMPLOYEES
  36.  
  37. INSERT INTO PRODUCTS(PRODUCT_ID, NAME, DESCR, PRICE)
  38. VALUES(20001, 'FLASH', '16GB ADATA', 20)
  39.  
  40. SELECT * FROM PRODUCTS
  41.  
  42. INSERT INTO ORDERS(ORDER_ID, CUSTOMER_ID, EMPLOYEE_ID, SHIP_ADDRESS, ORDER_DATE)
  43. VALUES(1, 1001, 1501, 'PLOVDIV SPEEDY', CONVERT(datetime, '29-04-2021 10:30', 105))
  44.  
  45. SELECT * FROM ORDERS
  46.  
  47. INSERT INTO ORDER_ITEMS(ORDER_ID, PRODUCT_ID, UNIT_PRICE, QUANTITY)
  48. VALUES(1, 20001, 20, 3)
  49.  
  50.  
  51. SELECT * FROM ORDER_ITEMS
  52.  
  53. -------------------------------------------------------------------------------------------
  54.  
  55. --Демо:
  56.     --Промяна на заплатата на служител с даден идентификатор:
  57.  
  58.     UPDATE EMPLOYEES
  59.     SET SALARY = 2020
  60.     WHERE EMPLOYEE_ID = 1501
  61. -------------------------------------------------------------------------------------------
  62. --Демо:
  63.     --Поръчката е анулирана -  изтрий реда и от таблицата ORDERS:
  64.  
  65.     DELETE FROM ORDERS
  66.     WHERE ORDER_ID=1
  67.  
  68.     SELECT * FROM ORDERS
  69.  
  70.    
  71. -------------------------------------------------------------------------------------------
  72. /* Задачи:
  73. Задача 3-1.
  74.     Да се изтрият всички редове от всички таблици в базата от данни, след което да
  75.     се въведат данните чрез командите от inserts_mssql.sql файла. */
  76.    
  77.     DELETE FROM PRODUCTS
  78.     DELETE FROM EMPLOYEES
  79.     DELETE FROM DEPARTMENTS
  80.     DELETE FROM CUSTOMERS
  81.     DELETE FROM JOBS
  82.     DELETE FROM COUNTRIES
  83.     DELETE FROM REGIONS
  84.  
  85.     -------------------------------------------------------------------------------------------
  86. /*Задача 3-2.
  87.     Да се увеличи количеството с 2 броя и да се намали единичната цена с 5% на
  88.     продукт с идентификатор 2254 в поръчка с идентификатор 2354.*/
  89.  
  90.     --проверяваме преди промяна:
  91.     SELECT UNIT_PRICE, QUANTITY
  92.     FROM ORDER_ITEMS
  93.     WHERE ORDER_ID = 2354 AND PRODUCT_ID = 2254
  94.  
  95.     --промяна:
  96.     UPDATE ORDER_ITEMS
  97.     SET UNIT_PRICE *=0.95, QUANTITY +=2
  98.     WHERE ORDER_ID = 2354 AND PRODUCT_ID = 2254
  99.  
  100.     --проверка след промяна:
  101.     SELECT UNIT_PRICE, QUANTITY
  102.     FROM ORDER_ITEMS
  103.     WHERE ORDER_ID = 2354 AND PRODUCT_ID = 2254
  104. -------------------------------------------------------------------------------------------
  105.  
  106. --Задача 3-3.
  107.     --Да се изтрие служител с идентификатор 183.
  108.  
  109.     --проверяваме преди изтриване:
  110.     SELECT *
  111.     FROM EMPLOYEES
  112.     WHERE EMPLOYEE_ID = 183
  113.  
  114.     --изтриване
  115.     DELETE FROM EMPLOYEES
  116.     WHERE EMPLOYEE_ID = 183
  117.  
  118.     --проверяваме след изтриване:
  119.     SELECT *
  120.     FROM EMPLOYEES
  121.     WHERE EMPLOYEE_ID = 183
  122.  
  123. -------------------------------------------------------------------------------------------
  124. --Пример 4-1.
  125.     --Да се изведат имената, датите на назначаване и заплатите на всички служители.
  126.  
  127.     SELECT FNAME,
  128.            LNAME,
  129.            HIRE_DATE,
  130.            SALARY
  131.       FROM EMPLOYEES
  132. -------------------------------------------------------------------------------------------
  133.     --more examples:
  134.     SELECT FNAME, LNAME, HIRE_DATE, SALARY
  135.     FROM EMPLOYEES
  136.     WHERE SALARY IN (12000, 8800.00 , 18000.00)
  137.  
  138.     SELECT FNAME, LNAME, HIRE_DATE, SALARY
  139.     FROM EMPLOYEES
  140.     WHERE SALARY > 14000
  141.  
  142. -------------------------------------------------------------------------------------------
  143.  
  144. /*Пример 4-2.
  145.     Да се изведат всички данни за продуктите, с цена по-голяма от 2000. Резултатът
  146.     нека бъде подреден по цена на продукт възходящо.*/
  147.  
  148.     SELECT *
  149.     FROM PRODUCTS
  150.     WHERE PRICE > 2000
  151.     ORDER BY PRICE   -- DESC/ASC по подразбиране
  152.  
  153. -------------------------------------------------------------------------------------------
  154. --Пример 4-3.
  155.     --Да се изведе броя на всички служители.
  156.  
  157.     SELECT COUNT(EMPLOYEE_ID) AS [COUNT EMPLOYEES]   --aggreg function
  158.     FROM EMPLOYEES
  159.  
  160. -------------------------------------------------------------------------------------------
  161. --Пример 4-4.
  162.     --Да се изведе броя служители, групирани по отдела, в който работят.
  163.  
  164.     SELECT COUNT(EMPLOYEE_ID) AS COUNT
  165.           ,DEPARTMENT_ID
  166.      FROM EMPLOYEES
  167.     GROUP BY DEPARTMENT_ID
  168.  
  169.  
  170. -------------------------------------------------------------------------------------------
  171. --4.2.1. Задачи
  172. --Задача 4-1.
  173.     --Да се изведат имената, заплатите и идентификаторите на длъжностите на
  174.     --служителите, работещи в отдели 50 и 80. Резултатът да е подреден по фамилия на служител във възходящ ред.
  175.  
  176.     SELECT FNAME, LNAME, SALARY, JOB_ID
  177.     FROM EMPLOYEES
  178.     WHERE DEPARTMENT_ID = 50 OR DEPARTMENT_ID=80
  179.     ORDER BY LNAME ASC
  180.  
  181.  
  182. -------------------------------------------------------------------------------------------
  183. --Задача 4-2.
  184.     --Да се изведат общата сума на заплатите и броя служители в отдел 60.
  185. SUM
  186. COUNT
  187.  
  188. -------------------------------------------------------------------------------------------
  189. --Задача 4-3.
  190.     --За всички поръчки да се изведат идентификатор на поръчка и обща стойност на
  191.     --поръчката. Резултатът да е подреден по стойност на поръчката в низходящ ред.
  192. SUM(UNIT_PRICE * QUANTITY)
  193. -------------------------------------------------------------------------------------------
  194.  
  195. --SELECT    COLUM1
  196. --FROM      TABLE1
  197. --WHERE     COLUMN >200
  198. --GROUP BY   колоните които не са в агрегиращата функция
  199. --ORDER BY  COLUMN1 ASC/DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement