Skip to content

Commit 71a84ad

Browse files
authored
[sql/uk-ua] Added Ukrainian translation (#5420)
* feat:Half of the translation * feat:Second half * Proofread
1 parent f165dc9 commit 71a84ad

File tree

1 file changed

+156
-0
lines changed

1 file changed

+156
-0
lines changed

uk/sql.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
---
2+
contributors:
3+
- ["Bob DuCharme", "http://bobdc.com/"]
4+
- ["Th3G33k", "https://github.com/Th3G33k"]
5+
translators:
6+
- ["Yulian Tolkachov", "https://github.com/3iM0ViY"]
7+
---
8+
9+
SQL (англ. Structured Query Language — мова структурованих запитів) — декларативна мова для роботи з базами даних. Імплементації зазвичай додають до мови власні доповнення: [україномовне порівняння MySQL та PostgreSQL](https://dou.ua/forums/topic/51621) або ж [англомовне порівняння різних популярних SQL рішень](http://troels.arvin.dk/db/rdbms/) можуть стати гарними прикладами посібників щодо відмінностей між продуктами.
10+
11+
Реалізації зазвичай мають командний рядок, де можна інтерактивно користуватися командами наведеними нижче. Вони також пропонують спосіб виконання послідовності таких команд, збережених у вибраному скрипті. (Хорошою, хоч і не стандартизованою, практикою є завершувати роботу з командним рядком словами QUIT чи EXIT, які підтримує більшість реалізацій SQL.)
12+
13+
Низка зразків команд наведених у цьому посібнику передбачають, що у вас завантажена [зразкова база даних співробітників уявної компанії](https://dev.mysql.com/doc/employee/en/), доступна для ознайомлення на [GitHub](https://github.com/datacharmer/test_db). Самі файли репозиторію — скрипти команд, подібних тим що наведені далі, що створюють і заповнюють таблиці даними про співробітників вигаданої компанії. Синтаксис для виконання цих скриптів буде залежати від реалізації SQL, котрою ви користуєтесь. Зазвичай, це утиліта, яку ви запускаєте з командного рядка операційної системи.
14+
15+
16+
```sql
17+
-- Коментарі починаються двома дефісами. Кожна команда закінчується крапкою з комою.
18+
19+
/*
20+
Багаторядковий коментар
21+
має таку форму написання.
22+
*/
23+
24+
-- SQL не враховує регістр ключових слів. Проте у наведених тут прикладах команд
25+
-- дотримується правило написання їх великими літерами, оскільки це полегшує
26+
-- їх розрізнення серед назв баз даних, таблиць і стовпців.
27+
28+
-- Створити й видалити базу даних (БД). Регістр має значення в контексті назв БД та таблиць.
29+
CREATE DATABASE someDatabase;
30+
DROP DATABASE someDatabase;
31+
32+
-- Відобразити доступні БД.
33+
SHOW DATABASES;
34+
35+
-- Використовувати конкретну наявну БД.
36+
USE employees;
37+
38+
-- Вибрати всі рядки та стовпчики з таблиці departments обраної БД.
39+
-- За змовчуванням, інтерпретатор прокручує результати на екрані.
40+
SELECT * FROM departments;
41+
42+
-- Отримати всі рядки тільки стовпців dept_no та dept_name з таблиці departments.
43+
-- Це ок розділяти команди на декілька рядків.
44+
SELECT dept_no,
45+
dept_name FROM departments;
46+
47+
-- Вибрати всі стовпчики departments, але обмежитись тільки 5 рядками.
48+
SELECT * FROM departments LIMIT 5;
49+
50+
-- Отримати ті значення стовпчиків dept_name з таблиці departments,
51+
-- що містять підрядок 'en' всередині себе.
52+
SELECT dept_name FROM departments WHERE dept_name LIKE '%en%';
53+
54+
-- Отримати всі стовпці з таблиці departments для тих рядків, що в стовпці dept_name
55+
-- мають значення, котре починається з літери 'S' та має рівно 4 символи після неї.
56+
SELECT * FROM departments WHERE dept_name LIKE 'S____';
57+
58+
-- Вибрати унікальні значення title з таблиці titles, не відображаючи дублікати.
59+
SELECT DISTINCT title FROM titles;
60+
61+
-- Те саме, що й минулою командою, тільки сортуючи (з урахуванням регістру) за
62+
-- значенням title. Порядок виводу можна вказати, додавши ASC — зростаючий,
63+
-- або DESC — спадаючий. Наростальний порядок використовується за змовчуванням.
64+
SELECT DISTINCT title FROM titles ORDER BY title ASC;
65+
66+
-- Оператори порівняння (=, >, <, >=, <=, <>) та логічні оператори
67+
-- (AND, OR) можна використовувати для уточнення запитів.
68+
SELECT * FROM departments WHERE dept_no = 'd001' OR dept_no = 'd002';
69+
70+
-- Ідентична дія.
71+
SELECT * FROM departments WHERE dept_no IN ('d001', 'd002');
72+
73+
-- Повертає протилежний результат.
74+
SELECT * FROM departments WHERE dept_no NOT IN ('d001', 'd002');
75+
76+
-- Вибірка у вказаному діапазоні.
77+
SELECT * from departments WHERE dept_no BETWEEN 'd001' AND 'd002';
78+
79+
-- Порахувати кількість рядків у таблиці departments.
80+
SELECT COUNT(*) FROM departments;
81+
82+
-- Переглянути кількість рядків в таблиці departments,
83+
-- що мають всередині значення dept_name підрядок 'en'.
84+
SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%';
85+
86+
-- Агрегатні функції можна використовувати разом із GROUP BY
87+
-- для обчислення одного значення із обраної сукупності значень.
88+
-- Найчастіше використовувані функції:
89+
-- MIN(), MAX(), COUNT(), SUM(), AVG().
90+
-- Використовуйте HAVING, щоб відфільтрувати рядки за агрегованими значеннями.
91+
92+
-- Команда отримує загальну кількість працівників за номером департаменту
93+
-- за умови, що у департаменті їх понад 100.
94+
SELECT dept_no, COUNT(dept_no) FROM dept_emp GROUP BY dept_no
95+
HAVING COUNT(dept_no) > 100;
96+
97+
-- За допомогою ключового слова AS можна задавати псевдоніми для назв
98+
-- стовпців або таблиць у межах запиту.
99+
SELECT COUNT(A.*) AS total_employees, COUNT(B.*) total_departments
100+
FROM employees AS A, departments B;
101+
102+
-- Стандартний формат запису дат: "рррр-мм-дд".
103+
-- Однак він може відрізнятися в залежності від імплементації,
104+
-- операційної системи, та налаштувань локальної сесії.
105+
SELECT * FROM dept_manager WHERE from_date >= '1990-01-01';
106+
107+
-- Об'єднання даних з кількох таблиць за допомогою оператора JOIN.
108+
-- Таблиця titles містить назви посад працівників з прив'язкою до
109+
-- їх порядкових номерів та періодів роботи (між from_date та to_date).
110+
-- Наступна команда отримує перші 10 рядків такої інформації, але замінює
111+
-- номери працівників на їх імена та прізвища шляхом порівняння з таблицею employees.
112+
SELECT employees.first_name, employees.last_name,
113+
titles.title, titles.from_date, titles.to_date
114+
FROM titles INNER JOIN employees ON
115+
employees.emp_no = titles.emp_no LIMIT 10;
116+
117+
-- Отримати результати декількох запитів.
118+
-- UNION повертає лише унікальні рядки, а UNION ALL — усі, включно з дубльованими.
119+
SELECT * FROM departments WHERE dept_no = 'd001'
120+
UNION
121+
SELECT * FROM departments WHERE dept_no = 'd002';
122+
123+
-- Порядок SQL синтаксису:
124+
-- SELECT _ FROM _ JOIN _ ON _ WHERE _ GROUP BY _ HAVING _ ORDER BY _ UNION
125+
126+
-- Перелічити всі таблиці з усіх БД. В реалізаціях зазвичай існує
127+
-- власна команда для виконання цієї дії з поточною БД.
128+
SELECT * FROM INFORMATION_SCHEMA.TABLES
129+
WHERE TABLE_TYPE='BASE TABLE';
130+
131+
-- Створити таблицю tablename1 в межах обраної БД з двома вказаними стовпцями.
132+
-- Для стовпчиків можна вказувати їх типи даних, а також безліч інших можливих налаштувань.
133+
CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20));
134+
135+
-- Додати до таблиці tablename1 рядок даних. Ми припускаємо, що таблиця була
136+
-- налаштована таким чином, аби сприймати ці значення за доречні.
137+
INSERT INTO tablename1 VALUES('Richard','Mutt');
138+
139+
-- Замінити ім'я (fname) на 'John' в усіх рядках зі значенням прізвища (lname) 'Mutt'.
140+
UPDATE tablename1 SET fname='John' WHERE lname='Mutt';
141+
142+
-- Видалити всі рядки з таблиці tablename1
143+
-- в котрих значення lname починається на 'М'
144+
DELETE FROM tablename1 WHERE lname LIKE 'M%';
145+
146+
-- Видалити всі рядки з tablename1, залишивши пусту таблицю.
147+
DELETE FROM tablename1;
148+
149+
-- Видалити усю таблицю tablename1.
150+
DROP TABLE tablename1;
151+
```
152+
153+
## Додаткова література
154+
155+
* [W3schoolsUA - SQL Підручник](https://w3schoolsua.github.io/sql/index.html#gsc.tab=0): гарний онлайн підручник/довідник з детальним розбором команд з прикладами та вправами для самоперевірки.
156+
* [SQL Fiddle](https://sqlfiddle.com): онлайн SQL компілятор із відкритим вихідним кодом, підтримкою форматів різних БД та такими фішками як ШІ інтеграцією чи колаборативною роботою з іншими користувачами.

0 commit comments

Comments
 (0)