Advertisement
JmihPodvalbniy

Untitled

Apr 8th, 2024 (edited)
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.25 KB | Software | 0 0
  1. CREATE DATABASE LSO;
  2.  
  3. USE LSO;
  4.  
  5. CREATE TABLE Products (
  6. id INT IDENTITY(1,1) PRIMARY KEY,
  7. name VARCHAR(50) NOT NULL,
  8. price DECIMAL(10,2) NOT NULL,
  9. description TEXT
  10. );
  11.  
  12. INSERT INTO Products (name, price, description)
  13. VALUES
  14.     ('Смартфон XYZ', 799.99, 'смартфон нового покаления'),
  15.     ('Ноутбук ABC', 1299.99, 'Легкий и производительный ноутбук'),
  16.     ('Наушники DEF', 49.99, 'наушники с шумоподавлением'),
  17.     ('Планшет GHI', 399.99, 'Планшет с высокой производительностью'),
  18.     ('Умные часы JKL', 79.99, 'Умные часы с фитнес-трекером'),
  19.     ('Игровая консоль PS4', 500.00, 'Консоль с поддержкой 4K');
  20.  
  21. Запросы:
  22.  
  23. --1) Напишите SQL-запрос, который выведет длину названия продукта.
  24. USE LSO;
  25. SELECT LEN(name)
  26.     FROM Products
  27.     WHERE id = 1
  28.  
  29. --2) Напишите SQL-запрос, который удалит все пробелы слева от названия продукта.
  30. USE LSO;
  31. SELECT LTRIM( name)
  32.     FROM Products
  33.     WHERE id = 1
  34.  
  35. --3) Напишите SQL-запрос, который удалит все пробелы справа от названия продукта.
  36. USE LSO;
  37. SELECT RTRIM(name )
  38.     FROM Products
  39.     WHERE id = 1
  40.  
  41. --4) Напишите SQL-запрос, который найдет позицию слова "apple" в описании продукта.
  42. #Вместо apple, искал ноутбук, т.к. не вписал apple в столбцы.
  43. USE LSO;
  44. SELECT id
  45. FROM Products
  46. WHERE CHARINDEX('ноутбук', description) > 0
  47.  
  48. --5) Напишите SQL-запрос, который найдет позицию символа "@" в названии продукта.
  49. #Вместо (@), буква (н).
  50. USE LSO;
  51. SELECT id
  52. FROM Products
  53. WHERE PATINDEX('%н%', name) > 0
  54.  
  55. --6) Напишите SQL-запрос, который вернет первые 3 символа названия продукта.
  56. USE LSO;
  57. SELECT LEFT('Наушники DEF', 3)
  58. FROM Products
  59. WHERE id = 3
  60.  
  61. --7) Напишите SQL-запрос, который вернет последние 5 символов названия продукта.
  62. USE LSO;
  63. SELECT RIGHT('Наушники DEF', 5)
  64. FROM Products
  65. WHERE id = 3
  66.  
  67. --8) Напишите SQL-запрос, который заменит все символы "a" на "b" в названии продукта.
  68. #Вместо (a), (На).
  69. USE LSO;
  70. SELECT REPLACE(name, 'На', 'b')
  71. FROM Products
  72. WHERE id = 3
  73.  
  74. --9) Напишите SQL-запрос, который вернет перевернутое название продукта.
  75. USE LSO;
  76. SELECT REVERSE(name)
  77. FROM Products
  78. WHERE id = 3
  79.  
  80. --10) Напишите SQL-запрос, который объединит название и цену продукта в одну строку.
  81. USE LSO;
  82. SELECT CONCAT(name, ' ', price)
  83. FROM Products
  84. WHERE id = 3
  85.  
  86. --11) Выбрать все продукты, у которых длина наименования более 5 символов
  87. USE LSO;
  88. SELECT name
  89. FROM Products
  90. WHERE LEN(name) > 5;
  91.  
  92. --12) Выбрать все продукты, у которых в описании есть слово "premium"
  93. #Вместо слова (Premium), слово (Легкий).
  94. USE LSO;
  95. SELECT name
  96. FROM Products
  97. WHERE description LIKE '%Легкий%'
  98.  
  99.  
  100. --13) Выбрать все продукты, у которых цена больше 50 и меньше 100
  101. USE LSO;
  102. SELECT name
  103. FROM Products
  104. WHERE price > 50 AND price < 100
  105.  
  106. --14) Выбрать все продукты, у которых в наименовании есть слово "apple" и заменить его на "orange"
  107. #Вместо (apple), искал (Ноутбук) и заменил его на orange
  108. USE LSO;
  109. SELECT REPLACE(name, 'Ноутбук', 'orange')
  110. FROM Products
  111. WHERE name LIKE '%Ноутбук%';
  112.  
  113. --15) Выбрать первые 5 символов из описания каждого продукта
  114. USE LSO;
  115. SELECT SUBSTRING(description, 1, 5)
  116. FROM Products
  117.  
  118. --16) Выбрать все продукты, у которых цена округлена до ближайшего целого числа
  119. USE LSO;
  120. SELECT name
  121. FROM Products
  122. WHERE price = ROUND(price, 0)
  123.  
  124. --17) Выбрать все продукты, у которых длина описания не является числом
  125. USE LSO;
  126. SELECT name
  127. FROM Products
  128. WHERE ISNUMERIC(CAST(description AS VARCHAR(MAX))) = 0
  129.  
  130. --18) Выбрать все продукты, у которых цена неотрицательна
  131. USE LSO;
  132. SELECT name
  133. FROM Products
  134. WHERE price >= 0
  135.  
  136. --19) Выбрать все продукты, у которых цена больше 100 и описание содержит слово "red"
  137. #Слово (red) заменил на слово (Консоль)
  138. USE LSO;
  139. SELECT name
  140. FROM Products
  141. WHERE price > 100 AND description LIKE '%Консоль%'
  142.  
  143. --20) Выбрать все продукты, у которых цена уменьшена на 10%
  144. USE LSO;
  145. SELECT name, ROUND(price * 0.9, 2) AS price
  146. FROM Products
  147.  
  148.  
  149.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement