├── LICENSE
├── README.md
├── art
├── hackerrank.png
└── sql.png
└── tasks
├── 1.md
├── 1.sql
├── 10.md
├── 10.sql
├── 11.md
├── 11.sql
├── 12.md
├── 12.sql
├── 13.md
├── 13.sql
├── 14.md
├── 14.sql
├── 15.md
├── 15.sql
├── 16.md
├── 16.sql
├── 17.md
├── 17.sql
├── 18.md
├── 18.sql
├── 19.md
├── 19.sql
├── 2.md
├── 2.sql
├── 20.md
├── 20.sql
├── 21.md
├── 21.sql
├── 22.md
├── 22.sql
├── 23.md
├── 23.sql
├── 24.md
├── 24.sql
├── 25.md
├── 25.sql
├── 26.md
├── 26.sql
├── 27.md
├── 27.sql
├── 28.md
├── 28.sql
├── 29.md
├── 29.sql
├── 3.md
├── 3.sql
├── 30.md
├── 30.sql
├── 31.md
├── 31.sql
├── 32.md
├── 32.sql
├── 33.md
├── 33.sql
├── 34.md
├── 34.sql
├── 35.md
├── 35.sql
├── 36.md
├── 36.sql
├── 37.md
├── 37.sql
├── 38.md
├── 38.sql
├── 39.md
├── 39.sql
├── 4.md
├── 4.sql
├── 40.md
├── 40.sql
├── 41.md
├── 41.sql
├── 42.md
├── 42.sql
├── 43.md
├── 43.sql
├── 44.md
├── 44.sql
├── 45.md
├── 45.sql
├── 46.md
├── 46.sql
├── 47.md
├── 47.sql
├── 48.md
├── 48.sql
├── 49.md
├── 49.sql
├── 5.md
├── 5.sql
├── 50.md
├── 50.sql
├── 51.md
├── 51.sql
├── 52.md
├── 52.sql
├── 53.md
├── 53.sql
├── 54.md
├── 54.sql
├── 55.md
├── 55.sql
├── 56.md
├── 56.sql
├── 57.md
├── 57.sql
├── 58.md
├── 58.sql
├── 59.md
├── 6.md
├── 6.sql
├── 7.md
├── 7.sql
├── 8.md
├── 8.sql
├── 9.md
├── 9.sql
└── art
├── 1.png
├── 10.png
├── 11.png
├── 12.png
├── 13.png
├── 14.png
├── 15.png
├── 16.png
├── 17.png
├── 18.png
├── 19.png
├── 2.png
├── 20.png
├── 21.png
├── 22.png
├── 23.png
├── 24.png
├── 25.png
├── 26.png
├── 27.png
├── 28.png
├── 29.png
├── 3.png
├── 30.png
├── 31.png
├── 32.png
├── 33.png
├── 34.png
├── 35.png
├── 36.png
├── 37.png
├── 38.png
├── 39.png
├── 4.png
├── 40.png
├── 41.png
├── 42.png
├── 44.png
├── 45.png
├── 46.png
├── 47.png
├── 48.png
├── 49.png
├── 5.png
├── 50.png
├── 51.png
├── 52.png
├── 53.png
├── 54.png
├── 55.png
├── 56.png
├── 57.png
├── 58.png
├── 6.png
├── 7.png
├── 8.png
└── 9.png
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Andrej Marinchenko
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |
6 | # Решение задач hackerrank по SQL
7 |
8 |
9 |
10 | ## Как это работает?
11 |
12 | Все очень просто: переходи по [ссылке](https://www.hackerrank.com/domains/sql?filters%5Bstatus%5D%5B%5D=unsolved&badge_type=sql)
13 | профильных задач hackerrank и учись, а если уже все идеи при решении закончились, обращайся к моим подсказкам.
14 |
15 | ## Порядок подготовки и работы с ботом
16 |
17 | 1. Клонировать репозиторий либо скачать архив из github или при помощи следующих команд в командной строке
18 | ```commandline
19 | $ cmd
20 | $ git clone https://github.com/BEPb/hackerrank_sql
21 | $ cd hackerrank_sql
22 | ```
23 |
24 | 2. Приступить к решеиню задач:
25 | ## Содержание
26 |
27 | 1. Пересмотр выбора запроса I - [Revising the Select Query I](./tasks/1.md)
28 | 2. Пересмотр выбора запроса II - [Revising the Select Query II](./tasks/2.md)
29 | 3. Выбрать все - [Select All](./tasks/3.md)
30 | 4. Выбрать по идентификатору - [Select By ID](./tasks/4.md)
31 | 5. Атрибуты японских городов - [Japanese Cities' Attributes](./tasks/5.md)
32 | 6. Названия японских городов - [Japanese Cities' Names](./tasks/6.md)
33 | 7. Станция наблюдения за погодой 1 - [Weather Observation Station 1](./tasks/7.md)
34 | 8. Станция наблюдения за погодой 3 - [Weather Observation Station 3](./tasks/8.md)
35 | 9. Станция наблюдения за погодой 4 - [Weather Observation Station 4](./tasks/9.md)
36 | 10. Станция наблюдения за погодой 5 - [Weather Observation Station 5](./tasks/10.md)
37 | 11. Станция наблюдения за погодой 6 - [Weather Observation Station 6](./tasks/11.md)
38 | 12. Станция наблюдения за погодой 7 - [Weather Observation Station 7](./tasks/12.md)
39 | 13. Станция наблюдения за погодой 8 - [Weather Observation Station 8](./tasks/13.md)
40 | 14. Станция наблюдения за погодой 9 - [Weather Observation Station 9](./tasks/14.md)
41 | 15. Станция наблюдения за погодой 10 - [Weather Observation Station 10](./tasks/15.md)
42 | 16. Станция наблюдения за погодой 11 - [Weather Observation Station 11](./tasks/16.md)
43 | 17. Станция наблюдения за погодой 12 - [Weather Observation Station 12](./tasks/17.md)
44 | 18. Выше 75 баллов - [Higher Than 75 Marks](./tasks/18.md)
45 | 19. Имена сотрудников - [Employee Names](./tasks/19.md)
46 | 20. Заработная плата сотрудников - [Employee Salaries](./tasks/20.md)
47 | 21. Тип треугольника - [Type of Triangle](./tasks/21.md)
48 | 22. ПОДУШКИ - [The PADS](./tasks/22.md)
49 | 23. Профессии - [Occupations](./tasks/23.md)
50 | 24. Узлы бинарного дерева - [Binary Tree Nodes](./tasks/24.md)
51 | 25. Новые компании - [New Companies](./tasks/25.md)
52 | 26. Средняя численность населения - [Average Population](./tasks/26.md)
53 | 27. Население Японии - [Japan Population](./tasks/27.md)
54 | 28. Разница в плотности населения - [Population Density Difference](./tasks/28.md)
55 | 29. Ошибка - [The Blunder](./tasks/29.md)
56 | 30. Лучшие заработки - [Top Earners](./tasks/30.md)
57 | 31. Проверка агрегатов — функция подсчета - [Revising Aggregations - The Count Function](./tasks/31.md)
58 | 32. Проверка агрегатов — функция суммы - [Revising Aggregations - The Sum Function](./tasks/32.md)
59 | 33. Проверка агрегатов — функция среднего значения - [Revising Aggregations - Averages](./tasks/33.md)
60 | 34. Станция наблюдения за погодой 2 - [Weather Observation Station 2](./tasks/34.md)
61 | 35. Станция наблюдения за погодой 13 - [Weather Observation Station 13](./tasks/35.md)
62 | 36. Станция наблюдения за погодой 14 - [Weather Observation Station 14](./tasks/36.md)
63 | 37. Станция наблюдения за погодой 15 - [Weather Observation Station 15](./tasks/37.md)
64 | 38. Станция наблюдения за погодой 16 - [Weather Observation Station 16](./tasks/38.md)
65 | 39. Станция наблюдения за погодой 17 - [Weather Observation Station 17](./tasks/39.md)
66 | 40. Станция наблюдения за погодой 18 - [Weather Observation Station 18](./tasks/40.md)
67 | 41. Станция наблюдения за погодой 19 - [Weather Observation Station 19](./tasks/41.md)
68 | 42. Станция наблюдения за погодой 20 - [Weather Observation Station 20](./tasks/42.md)
69 | 43. Таблица лидеров конкурса - [Contest Leaderboard](./tasks/43.md)
70 | 44. Интервью - [Interviews](./tasks/44.md)
71 | 45. Базовое соединение - [Basic Join](./tasks/45.md)
72 | 46. Перепись населения - [Population Census](./tasks/46.md)
73 | 47. Африканские города - [African Cities](./tasks/47.md)
74 | 48. Средняя численность населения каждого континента - [Average Population of Each Continent](./tasks/48.md)
75 | 49. Отчет - [The Report](./tasks/49.md)
76 | 50. Лучшие конкуренты - [Top Competitors](./tasks/50.md)
77 | 51. Инвентарь Олливандера - [Ollivander's Inventory](./tasks/51.md)
78 | 52. Проблемы - [Challenges](./tasks/52.md)
79 | 53. Нарисуй треугольник 1 - [Draw The Triangle 1](./tasks/53.md)
80 | 54. Нарисуй треугольник 2 - [Draw The Triangle 2](./tasks/54.md)
81 | 55. Печать простых чисел - [Print Prime Numbers](./tasks/55.md)
82 | 56. 15 дней изучения SQL - [15 Days of Learning SQL](./tasks/56.md)
83 | 57. Планирование проекта SQL - [SQL Project Planning](./tasks/57.md)
84 | 58. Места размещения - [Placements](./tasks/58.md)
85 | 59. Симметричные пары - [Symmetric Pairs](./tasks/59.md)
86 |
87 |
88 | ## В процессе... , будет дополнено)
89 |
90 |
91 | ---
92 |
93 |
94 |
95 |
96 |
97 |
98 | Цель этого репозитория, помочь начинающему программисту получить знания, ну и как награду бейдж hackerrank sql
99 |
100 |
--------------------------------------------------------------------------------
/art/hackerrank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/art/hackerrank.png
--------------------------------------------------------------------------------
/art/sql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/art/sql.png
--------------------------------------------------------------------------------
/tasks/1.md:
--------------------------------------------------------------------------------
1 | ### Пересмотр выбора запроса I [Revising the Select Query I]
2 |
3 |
4 |
5 | #### eng:
6 | Query all columns for all American cities in the CITY table with populations larger than 100000. The CountryCode for America is USA.
7 | The CITY table is described as follows:
8 |
9 |
10 | #### рус:
11 | Запросите все столбцы для всех американских городов в таблице CITY с населением более 100000 человек. CountryCode для Америки — USA.
12 | Таблица CITY описывается следующим образом:
13 |
14 |
15 | #### код с пояснениями:
16 | ```sql
17 | SELECT /* выбрать данные */
18 | * /* всех столбцов */
19 | FROM /* из */
20 | CITY /* таблицы */
21 | WHERE /* где */
22 | POPULATION > 100000 AND /* условие 1 и */
23 | COUNTRYCODE = 'USA' /* условие 2 */
24 | ```
25 |
26 | #### код для hackerrank
27 | ```sql
28 | SELECT *
29 | FROM CITY
30 | WHERE POPULATION > 100000 AND COUNTRYCODE = 'USA'
31 | ```
32 |
33 |
34 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
35 |
36 | ---
--------------------------------------------------------------------------------
/tasks/1.sql:
--------------------------------------------------------------------------------
1 | SELECT *
2 | FROM CITY
3 | WHERE POPULATION > 100000 AND COUNTRYCODE = 'USA'
--------------------------------------------------------------------------------
/tasks/10.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 5 [Weather Observation Station 5]
2 |
3 |
4 |
5 | #### eng:
6 | Query the two cities in STATION with the shortest and longest CITY names, as well as their respective lengths
7 | (i.e.: number of characters in the name). If there is more than one smallest or largest city, choose the one that
8 | comes first when ordered alphabetically.
9 | The STATION table is described as follows:
10 |
11 | where LAT_N is the northern latitude and LONG_W is the western longitude.
12 |
13 | Sample Input
14 |
15 | For example, CITY has four entries: DEF, ABC, PQRS and WXY.
16 |
17 | Explanation
18 | When ordered alphabetically, the CITY names are listed as ABC, DEF, PQRS, and WXY, with lengths and . The longest name
19 | is PQRS, but there are options for shortest named city. Choose ABC, because it comes first alphabetically.
20 |
21 | Note
22 | You can write two separate queries to get the desired output. It need not be a single query.
23 |
24 | #### рус:
25 | Запросите два города в STATION с самыми короткими и самыми длинными названиями CITY, а также их соответствующей длиной
26 | (т.е. количеством символов в названии). Если существует более одного самого маленького или самого большого города,
27 | выберите тот, который идет первым в алфавитном порядке.
28 | Таблица STATION описывается следующим образом:
29 |
30 | где LAT_N — северная широта, а LONG_W — западная долгота.
31 |
32 | Образец ввода
33 | Например, CITY имеет четыре записи: DEF, ABC, PQRS и WXY.
34 |
35 | Объяснение
36 | При упорядочении в алфавитном порядке названия ГОРОДА перечислены как ABC, DEF, PQRS и WXY с длинами и. Самое длинное
37 | название — PQRS, но есть варианты для города с самым коротким названием. Выберите ABC, потому что он стоит первым в
38 | алфавитном порядке.
39 |
40 | Запись
41 | Вы можете написать два отдельных запроса, чтобы получить желаемый результат. Это не обязательно должен быть один запрос.
42 |
43 | #### код с коментариями:
44 | ```sql
45 | SELECT /* выбрать данные */
46 | city, /* столбец */
47 | LENGTH(city) AS city_length /* столбец длины с названием */
48 | FROM STATION /* из таблицы */
49 | WHERE LENGTH(city) = (SELECT /* где условие1 = встроенному запросу выбора данных */
50 | MIN(LENGTH(city)) /* столбец минимальной длинны названий городов */
51 | FROM STATION) /* из таблицы */
52 | OR /* или */
53 | LENGTH(city) = (SELECT /* условие 2 = встроенному запросу выбора данныех*/
54 | MAX(LENGTH(city)) /* столбец максимальной длинны названий городов */
55 | FROM STATION) /* из таблицы */
56 | ORDER BY /* отсортировать */
57 | length(city)desc, /* по длинне названий в обратном порядке */
58 | city ASC /* затем по названию городов кодировки аски */
59 | limit 2; /* не более 2 строк */
60 | ```
61 |
62 | #### код для hackerrank:
63 | ```sql
64 | SELECT
65 | city,
66 | LENGTH(city) AS city_length
67 | FROM STATION
68 | WHERE LENGTH(city) = (SELECT
69 | MIN(LENGTH(city))
70 | FROM STATION)
71 | or LENGTH(city) = (SELECT
72 | MAX(LENGTH(city))
73 | FROM STATION)
74 | ORDER BY length(city)desc,city ASC
75 | limit 2;
76 | ```
77 |
78 |
79 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
80 |
81 | ---
--------------------------------------------------------------------------------
/tasks/10.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | city,
3 | LENGTH(city) AS city_length
4 | FROM STATION
5 | WHERE LENGTH(city) = (SELECT
6 | MIN(LENGTH(city))
7 | FROM STATION)
8 | OR
9 | LENGTH(city) = (SELECT
10 | MAX(LENGTH(city))
11 | FROM STATION)
12 | ORDER BY
13 | length(city)desc,
14 | city ASC
15 | limit 2;
--------------------------------------------------------------------------------
/tasks/11.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 6 [Weather Observation Station 6]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates.
7 | Input Format
8 | The STATION table is described as follows:
9 | where LAT_N is the northern latitude and LONG_W is the western longitude.
10 |
11 |
12 | #### рус:
13 | Запросите список названий ГОРОДА, начинающихся с гласных (например, a, e, i, o или u), из STATION. Ваш результат не
14 | может содержать дубликатов.
15 | Формат ввода
16 | Таблица STATION описывается следующим образом:
17 | где LAT_N — северная широта, а LONG_W — западная долгота.
18 |
19 |
20 | #### код с коментариями:
21 | ```sql
22 | SELECT /* выбрать данные */
23 | CITY /* столбца */
24 | FROM STATION /* из таблицы */
25 | WHERE /* где */
26 | CITY LIKE 'a%' or /* значение столбца содержит симовл или */
27 | CITY LIKE 'e%' or /* значение столбца содержит симовл или */
28 | CITY LIKE 'i%' or /* значение столбца содержит симовл или */
29 | CITY LIKE 'o%' or /* значение столбца содержит симовл или */
30 | CITY LIKE 'u%' /* значение столбца содержит симовл или */
31 | GROUP BY CITY; /* сгруппировать по столбцу */
32 | ```
33 |
34 | #### код для hackerrank:
35 | ```sql
36 | SELECT
37 | CITY
38 | FROM STATION
39 | WHERE
40 | CITY LIKE 'a%' or
41 | CITY LIKE 'e%' or
42 | CITY LIKE 'i%' or
43 | CITY LIKE 'o%' or
44 | CITY LIKE 'u%'
45 | GROUP BY CITY;
46 | ```
47 | или:
48 |
49 | ```sql
50 | SELECT
51 | DISTINCT CITY
52 | FROM STATION
53 | WHERE
54 | CITY REGEXP '^a|^e|^i|^o|^u';
55 |
56 | ```
57 |
58 | #### этот код с коментариями:
59 | ```sql
60 | SELECT /* выбрать данные */
61 | DISTINCT CITY /* уникальные значения столбца */
62 | FROM STATION /* из таблицы */
63 | WHERE /* где */
64 | CITY REGEXP '^a|^e|^i|^o|^u'; /* столбец содержит символы */
65 | ```
66 |
67 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
68 |
69 | ---
--------------------------------------------------------------------------------
/tasks/11.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CITY
3 | FROM STATION
4 | WHERE
5 | CITY LIKE 'a%' or
6 | CITY LIKE 'e%' or
7 | CITY LIKE 'i%' or
8 | CITY LIKE 'o%' or
9 | CITY LIKE 'u%'
10 | GROUP BY CITY;
--------------------------------------------------------------------------------
/tasks/12.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 7 [Weather Observation Station 7]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names ending with vowels (a, e, i, o, u) from STATION. Your result cannot contain duplicates.
7 | Input Format
8 | The STATION table is described as follows:
9 | where LAT_N is the northern latitude and LONG_W is the western longitude.
10 |
11 |
12 | #### рус:
13 | Запросите список названий ГОРОДА, оканчивающихся на гласные (a, e, i, o, u), из STATION. Ваш результат не может содержать дубликатов.
14 | Формат ввода
15 | Таблица STATION описывается следующим образом:
16 | где LAT_N — северная широта, а LONG_W — западная долгота.
17 |
18 |
19 | #### код с коментариями:
20 | ```sql
21 | SELECT /* выбрать данные */
22 | DISTINCT CITY /* уникальные значения столбца */
23 | FROM STATION /* из таблицы */
24 | WHERE /* где */
25 | CITY LIKE '%a' OR /* значение столбца содержит симовл или */
26 | CITY LIKE '%e' OR /* значение столбца содержит симовл или */
27 | CITY LIKE '%i' OR /* значение столбца содержит симовл или */
28 | CITY LIKE '%o' OR /* значение столбца содержит симовл или */
29 | CITY LIKE '%u' ; /* значение столбца содержит симовл */
30 | ```
31 |
32 | #### код для hackerrank:
33 | ```sql
34 | SELECT
35 | DISTINCT CITY
36 | FROM STATION
37 | WHERE
38 | CITY LIKE '%a' OR
39 | CITY LIKE '%e' OR
40 | CITY LIKE '%i' OR
41 | CITY LIKE '%o' OR
42 | CITY LIKE '%u' ;
43 | ```
44 |
45 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
46 |
47 | ---
--------------------------------------------------------------------------------
/tasks/12.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | DISTINCT CITY
3 | FROM STATION
4 | WHERE
5 | CITY LIKE '%a' OR
6 | CITY LIKE '%e' OR
7 | CITY LIKE '%i' OR
8 | CITY LIKE '%o' OR
9 | CITY LIKE '%u' ;
--------------------------------------------------------------------------------
/tasks/13.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 8 - [Weather Observation Station 8]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, and u) as both their first and last characters. Your result cannot contain duplicates.
7 |
8 | input format
9 | The STATION table is described as follows:
10 | where LAT_N is the northern latitude and LONG_W is the western longitude.
11 |
12 |
13 | #### рус:
14 | Запросите список названий ГОРОДА из STATION, в которых гласные (т. е. a, e, i, o и u) стоят
15 | как в первом, так и в последнем символе. Ваш результат не может содержать дубликатов.
16 |
17 | формат ввода
18 | Таблица STATION описывается следующим образом:
19 | где LAT_N — северная широта, а LONG_W — западная долгота.
20 |
21 |
22 | #### код с коментариями:
23 | ```sql
24 | SELECT /* выбрать данные */
25 | DISTINCT CITY /* уникальные значения столбца */
26 | FROM STATION /* из таблицы */
27 | WHERE /* где */
28 | -- условие №1 состоящие из другого набора условий
29 | (CITY LIKE 'a%' OR /* условие или */
30 | CITY LIKE 'e%' OR /* условие или */
31 | CITY LIKE 'i%' OR /* условие или */
32 | CITY LIKE 'o%' OR /* условие или */
33 | CITY LIKE 'u%') /* условие */
34 | AND
35 | -- условие №2 состоящие из другого набора условий
36 | (CITY LIKE '%a' OR /* условие или */
37 | CITY LIKE '%e' OR /* условие или */
38 | CITY LIKE '%i' OR /* условие или */
39 | CITY LIKE '%o' OR /* условие или */
40 | CITY LIKE '%u'); /* условие*/
41 | ```
42 |
43 | #### код для hackerrank:
44 | ```sql
45 | SELECT
46 | DISTINCT CITY
47 | FROM STATION
48 | WHERE
49 | (CITY LIKE 'a%' OR
50 | CITY LIKE 'e%' OR
51 | CITY LIKE 'i%' OR
52 | CITY LIKE 'o%' OR
53 | CITY LIKE 'u%')
54 | AND
55 | (CITY LIKE '%a' OR
56 | CITY LIKE '%e' OR
57 | CITY LIKE '%i' OR
58 | CITY LIKE '%o' OR
59 | CITY LIKE '%u');
60 | ```
61 | или:
62 | ```sql
63 | SELECT
64 | DISTINCT CITY
65 | FROM STATION
66 | WHERE
67 | LOWER(left(city,1)) in ("a","o","e","i","u")
68 | AND
69 | LOWER(right(city,1)) in ("a","o","e","i","u");
70 | ```
71 | или:
72 | ```SQL
73 | SELECT
74 | DISTINCT CITY
75 | FROM STATION
76 | WHERE
77 | substr(lower(city),-1,1) in ('a', 'e', 'i', 'o', 'u')
78 | AND
79 | substr(lower(city),1,1) in ('a', 'e', 'i', 'o', 'u') ;
80 | ```
81 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
82 |
83 | ---
--------------------------------------------------------------------------------
/tasks/13.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | DISTINCT CITY
3 | FROM STATION
4 | WHERE
5 | (CITY LIKE 'a%' OR
6 | CITY LIKE 'e%' OR
7 | CITY LIKE 'i%' OR
8 | CITY LIKE 'o%' OR
9 | CITY LIKE 'u%')
10 | AND
11 | (CITY LIKE '%a' OR
12 | CITY LIKE '%e' OR
13 | CITY LIKE '%i' OR
14 | CITY LIKE '%o' OR
15 | CITY LIKE '%u');
--------------------------------------------------------------------------------
/tasks/14.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 9 - [Weather Observation Station 9]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names from STATION that do not start with vowels. Your result cannot contain duplicates.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 | where LAT_N is the northern latitude and LONG_W is the western longitude.
12 |
13 |
14 | #### рус:
15 | Запросите список названий ГОРОДА из STATION, которые не начинаются с гласных.
16 | Ваш результат не может содержать дубликатов.
17 |
18 | Формат ввода
19 |
20 | Таблица STATION описывается следующим образом:
21 | где LAT_N — северная широта, а LONG_W — западная долгота.
22 |
23 |
24 | #### код с коментариями:
25 | ```sql
26 | SELECT /* выбрать данные */
27 | DISTINCT CITY /* уникальные значения столбца */
28 | FROM STATION /* из таблицы */
29 | WHERE /* где */
30 | LEFT(CITY, 1) not IN ('A', 'I', 'O', 'U', 'E')
31 | ```
32 |
33 | #### код для hackerrank:
34 | ```sql
35 | SELECT
36 | DISTINCT CITY
37 | FROM STATION
38 | WHERE
39 | LEFT(CITY, 1) not IN ('A', 'I', 'O', 'U', 'E')
40 | ```
41 |
42 |
43 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
44 |
45 | ---
--------------------------------------------------------------------------------
/tasks/14.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | DISTINCT CITY
3 | FROM STATION
4 | WHERE
5 | LEFT(CITY, 1) not IN ('A', 'I', 'O', 'U', 'E')
--------------------------------------------------------------------------------
/tasks/15.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 10 - [Weather Observation Station 10]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names from STATION that do not end with vowels. Your result cannot contain duplicates.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 | where LAT_N is the northern latitude and LONG_W is the western longitude.
12 |
13 |
14 | #### рус:
15 | Запросите список названий ГОРОДА из STATION, которые не заканчиваются на гласные. Ваш результат не может содержать дубликатов.
16 |
17 | Формат ввода
18 |
19 | Таблица STATION описывается следующим образом:
20 | где LAT_N — северная широта, а LONG_W — западная долгота.
21 |
22 |
23 | #### код с коментариями:
24 | ```sql
25 | SELECT /* выбрать данные */
26 | DISTINCT CITY /* уникальные значения столбца */
27 | FROM STATION /* из таблицы */
28 | WHERE /* где */
29 | SUBSTRING(CITY, -1) not IN ('A', 'I', 'O', 'U', 'E')
30 | ```
31 |
32 | #### код для hackerrank:
33 | ```sql
34 | SELECT
35 | DISTINCT CITY
36 | FROM STATION
37 | WHERE
38 | SUBSTRING(CITY, -1) not IN ('A', 'I', 'O', 'U', 'E')
39 | ```
40 |
41 |
42 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
43 |
44 | ---
--------------------------------------------------------------------------------
/tasks/15.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | DISTINCT CITY
3 | FROM STATION
4 | WHERE
5 | SUBSTRING(CITY, -1) not IN ('A', 'I', 'O', 'U', 'E')
--------------------------------------------------------------------------------
/tasks/16.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 11 - [Weather Observation Station 11]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names from STATION that either do not start with vowels or do not end with vowels. Your result cannot contain duplicates.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 | where LAT_N is the northern latitude and LONG_W is the western longitude.
12 |
13 |
14 | #### рус:
15 | Запросите список названий ГОРОДА из STATION, которые либо не начинаются с гласных,
16 | либо не заканчиваются на гласные. Ваш результат не может содержать дубликатов.
17 |
18 | Формат ввода
19 |
20 | Таблица STATION описывается следующим образом:
21 | где LAT_N — северная широта, а LONG_W — западная долгота.
22 |
23 |
24 | #### код с коментариями:
25 | ```sql
26 | SELECT /* выбрать данные */
27 | DISTINCT CITY /* уникальные значения столбца */
28 | FROM STATION /* из таблицы */
29 | WHERE /* где */
30 | -- условие №1 состоящие из других условий
31 | (CITY not LIKE 'a%' and /* условие и */
32 | CITY not LIKE 'e%' and /* условие и */
33 | CITY not LIKE 'i%' and /* условие и */
34 | CITY not LIKE 'o%' and /* условие и */
35 | CITY not LIKE 'u%') /* условие */
36 | OR /* или */
37 | -- условие №2 состоящие из других условий
38 | (CITY not LIKE '%a' and /* условие и */
39 | CITY not LIKE '%e' and /* условие и */
40 | CITY not LIKE '%i' and /* условие и */
41 | CITY not LIKE '%o' and /* условие и */
42 | CITY not LIKE '%u') /* условие*/
43 | ```
44 |
45 | #### код для hackerrank:
46 | ```sql
47 | SELECT
48 | DISTINCT CITY
49 | FROM STATION
50 | WHERE
51 | (CITY not LIKE 'a%' and
52 | CITY not LIKE 'e%' and
53 | CITY not LIKE 'i%' and
54 | CITY not LIKE 'o%' and
55 | CITY not LIKE 'u%')
56 | OR
57 | (CITY not LIKE '%a' and
58 | CITY not LIKE '%e' and
59 | CITY not LIKE '%i' and
60 | CITY not LIKE '%o' and
61 | CITY not LIKE '%u')
62 | ```
63 |
64 | ```sql
65 | SELECT
66 | DISTINCT CITY
67 | FROM STATION
68 | WHERE
69 | substr(lower(city),1,1) not in ('a', 'e', 'i', 'o', 'u')
70 | OR
71 | substr(lower(city),-1,1) not in ('a', 'e', 'i', 'o', 'u');
72 | ```
73 |
74 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
75 |
76 | ---
--------------------------------------------------------------------------------
/tasks/16.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | DISTINCT CITY
3 | FROM STATION
4 | WHERE
5 | (CITY not LIKE 'a%' and
6 | CITY not LIKE 'e%' and
7 | CITY not LIKE 'i%' and
8 | CITY not LIKE 'o%' and
9 | CITY not LIKE 'u%')
10 | OR
11 | (CITY not LIKE '%a' and
12 | CITY not LIKE '%e' and
13 | CITY not LIKE '%i' and
14 | CITY not LIKE '%o' and
15 | CITY not LIKE '%u')
--------------------------------------------------------------------------------
/tasks/17.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 12 - [Weather Observation Station 12]
2 |
3 |
4 |
5 | #### eng:
6 | Query the list of CITY names from STATION that do not start with vowels and do not end with vowels. Your result cannot contain duplicates.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 | where LAT_N is the northern latitude and LONG_W is the western longitude.
12 |
13 |
14 | #### рус:
15 | Запросите список названий ГОРОДА из STATION, которые не начинаются с гласных и
16 | не заканчиваются на гласные. Ваш результат не может содержать дубликатов.
17 |
18 | Формат ввода
19 |
20 | Таблица STATION описывается следующим образом:
21 | где LAT_N — северная широта, а LONG_W — западная долгота.
22 |
23 |
24 | #### код с коментариями:
25 | ```sql
26 | SELECT /* выбрать данные */
27 | DISTINCT CITY /* уникальные значения столбца */
28 | FROM STATION /* из таблицы */
29 | WHERE /* где */
30 | -- условие №1 состоящие из других условий
31 | (CITY not LIKE 'a%' and /* условие и */
32 | CITY not LIKE 'e%' and /* условие и */
33 | CITY not LIKE 'i%' and /* условие и */
34 | CITY not LIKE 'o%' and /* условие и */
35 | CITY not LIKE 'u%') /* условие */
36 | AND /* и */
37 | -- условие №2 состоящие из других условий
38 | (CITY not LIKE '%a' and /* условие и */
39 | CITY not LIKE '%e' and /* условие и */
40 | CITY not LIKE '%i' and /* условие и */
41 | CITY not LIKE '%o' and /* условие и */
42 | CITY not LIKE '%u') /* условие*/
43 | ```
44 |
45 | #### код для hackerrank:
46 | ```SQL
47 | SELECT
48 | DISTINCT CITY
49 | FROM STATION
50 | WHERE
51 | (CITY not LIKE 'a%' and
52 | CITY not LIKE 'e%' and
53 | CITY not LIKE 'i%' and
54 | CITY not LIKE 'o%' and
55 | CITY not LIKE 'u%')
56 | AND
57 | (CITY not LIKE '%a' and
58 | CITY not LIKE '%e' and
59 | CITY not LIKE '%i' and
60 | CITY not LIKE '%o' and
61 | CITY not LIKE '%u')
62 | ```
63 |
64 | ```sql
65 | SELECT
66 | DISTINCT CITY
67 | FROM STATION
68 | WHERE
69 | substr(lower(city),1,1) not in ('a', 'e', 'i', 'o', 'u')
70 | AND
71 | substr(lower(city),-1,1) not in ('a', 'e', 'i', 'o', 'u');
72 | ```
73 |
74 | ```sql
75 | SELECT
76 | DISTINCT CITY
77 | FROM STATION
78 | WHERE
79 | CITY REGEXP '^[^AEIOUaeiou].*[^AEIOUaeiou]$';
80 | ```
81 |
82 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
83 |
84 | ---
--------------------------------------------------------------------------------
/tasks/17.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | DISTINCT CITY
3 | FROM STATION
4 | WHERE
5 | (CITY not LIKE 'a%' and
6 | CITY not LIKE 'e%' and
7 | CITY not LIKE 'i%' and
8 | CITY not LIKE 'o%' and
9 | CITY not LIKE 'u%')
10 | AND
11 | (CITY not LIKE '%a' and
12 | CITY not LIKE '%e' and
13 | CITY not LIKE '%i' and
14 | CITY not LIKE '%o' and
15 | CITY not LIKE '%u')
--------------------------------------------------------------------------------
/tasks/18.md:
--------------------------------------------------------------------------------
1 | ### Выше 75 баллов - [Higher Than 75 Marks]
2 |
3 |
4 |
5 | #### eng:
6 | Query the Name of any student in STUDENTS who scored higher than Marks. Order your output by the last three characters of each name. If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID.
7 |
8 | Input Format
9 |
10 | The STUDENTS table is described as follows:The Name column only contains uppercase (A-Z) and lowercase (a-z) letters.
11 |
12 |
13 | #### рус:
14 | Запросите имя любого учащегося в STUDENTS, который набрал больше баллов, чем Marks.
15 | Упорядочить выходные данные по последним трем символам каждого имени.
16 | Если два или более учащихся имеют имена, оканчивающиеся на одни и те же последние три символа (например, Бобби, Робби и т. д.), вторичная сортировка их по возрастанию идентификатора.
17 |
18 | Формат ввода
19 | Таблица STUDENTS описывается следующим образом: Столбец Name содержит только прописные (A-Z) и строчные (a-z) буквы.
20 |
21 |
22 | #### код с коментариями:
23 | ```sql
24 | SELECT NAME /* выбрать данные столбца */
25 | FROM STUDENTS /* из таблицы */
26 | WHERE MARKS>75 /* где условие */
27 | ORDER BY /* отсортировать по */
28 | RIGHT(NAME,3), /* справа 3-й последний символ */
29 | ID /* далее по номеру записи */
30 | ```
31 |
32 | #### код для hackerrank:
33 | ```sql
34 | SELECT NAME
35 | FROM STUDENTS
36 | WHERE MARKS>75
37 | ORDER BY
38 | RIGHT(NAME,3),
39 | ID
40 | ```
41 |
42 |
43 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
44 |
45 | ---
--------------------------------------------------------------------------------
/tasks/18.sql:
--------------------------------------------------------------------------------
1 | SELECT NAME
2 | FROM STUDENTS
3 | WHERE MARKS>75
4 | ORDER BY
5 | RIGHT(NAME,3),
6 | ID
--------------------------------------------------------------------------------
/tasks/19.md:
--------------------------------------------------------------------------------
1 | ### Имена сотрудников - [Employee Names]
2 |
3 |
4 |
5 | #### eng:
6 | Write a query that prints a list of employee names (i.e.: the name attribute) from the Employee table in alphabetical order.
7 |
8 | Input Format
9 | The Employee table containing employee data for a company is described as follows:
10 | where employee_id is an employee's ID number, name is their name, months is the total number of months they've been working for the company, and salary is their monthly salary.
11 |
12 |
13 | #### рус:
14 | Напишите запрос, который выводит список имен сотрудников (т.е. атрибут name)
15 | из таблицы Employee в алфавитном порядке.
16 |
17 | Формат ввода
18 | Таблица Employee, содержащая данные о сотрудниках компании, описывается следующим образом:
19 | где employee_id — идентификационный номер сотрудника, name — его имя, month — общее количество месяцев, в течение которых он проработал в компании, а зарплата — его месячная зарплата.
20 |
21 |
22 | #### код с коментариями:
23 | ```sql
24 | SELECT NAME /* выбрать данные столбца */
25 | FROM Employee /* из таблицы */
26 | ORDER BY NAME /* отсортировать по имени */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT NAME
32 | FROM Employee
33 | ORDER BY NAME
34 | ```
35 |
36 |
37 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
38 |
39 | ---
--------------------------------------------------------------------------------
/tasks/19.sql:
--------------------------------------------------------------------------------
1 | SELECT NAME
2 | FROM Employee
3 | ORDER BY NAME
--------------------------------------------------------------------------------
/tasks/2.md:
--------------------------------------------------------------------------------
1 | ### Пересмотр выбора запроса II [Revising the Select Query II]
2 |
3 |
4 | #### eng:
5 |
6 | Query the NAME field for all American cities in the CITY table with populations larger than 120000. The CountryCode for America is USA.
7 | The CITY table is described as follows:
8 |
9 |
10 | #### рус:
11 |
12 | Запросите поле NAME для всех американских городов в таблице CITY с населением более 120 000 человек. CountryCode для Америки — USA.
13 | Таблица CITY описывается следующим образом:
14 |
15 | #### код с пояснениями:
16 | ```sql
17 | SELECT /* выбрать данные */
18 | NAME /* столбец */
19 | FROM /* из */
20 | CITY /* таблицы */
21 | WHERE /* где */
22 | POPULATION > 120000 AND /* условие 1 и */
23 | COUNTRYCODE = 'USA' /* условие 2 */
24 | ```
25 |
26 | #### код для hackerrank
27 | ```sql
28 | SELECT NAME
29 | FROM CITY
30 | WHERE POPULATION > 120000 AND COUNTRYCODE = 'USA'
31 | ```
32 |
33 |
34 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
35 |
36 | ---
--------------------------------------------------------------------------------
/tasks/2.sql:
--------------------------------------------------------------------------------
1 | SELECT NAME
2 | FROM CITY
3 | WHERE POPULATION > 120000 AND COUNTRYCODE = 'USA'
--------------------------------------------------------------------------------
/tasks/20.md:
--------------------------------------------------------------------------------
1 | ### Заработная плата сотрудников - [Employee Salaries]
2 |
3 |
4 |
5 | #### eng:
6 | Write a query that prints a list of employee names (i.e.: the name attribute) for employees in Employee having a salary greater than per month who have been employees for less than months. Sort your result by ascending employee_id.
7 |
8 | Input Format
9 | The Employee table containing employee data for a company is described as follows:
10 | where employee_id is an employee's ID number, name is their name, months is the total number of months they've been working for the company, and salary is the their monthly salary.
11 |
12 |
13 | #### рус:
14 | Напишите запрос, который выводит список имен сотрудников (т. е. атрибут name) для сотрудников
15 | в Employee с зарплатой больше 2000, чем в месяц, которые проработали меньше 10 месяцев.
16 | Отсортируйте результат по возрастанию employee_id.
17 |
18 | Формат ввода
19 |
20 | Таблица Employee, содержащая данные о сотрудниках компании, описывается следующим образом:
21 | где employee_id — это идентификационный номер сотрудника, name — это его имя, months — это общее количество месяцев, в течение которых они работали в компании, а зарплата — это их месячная зарплата.
22 |
23 |
24 | #### код с коментариями:
25 | ```sql
26 | SELECT name /* выбрать данные столбца */
27 | FROM Employee /* из таблицы */
28 | WHERE /* где */
29 | salary> 2000 AND /* условие и */
30 | months<10 /* условие
31 | ORDER BY employee_id; /* отсортировать по столбцу */
32 | ```
33 |
34 | #### код для hackerrank:
35 | ```sql
36 | SELECT name
37 | FROM Employee
38 | WHERE
39 | salary> 2000 AND
40 | months<10
41 | ORDER BY employee_id;
42 | ```
43 |
44 |
45 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
46 |
47 | ---
--------------------------------------------------------------------------------
/tasks/20.sql:
--------------------------------------------------------------------------------
1 | SELECT name
2 | FROM Employee
3 | WHERE
4 | salary> 2000 AND
5 | months<10
6 | ORDER BY employee_id;
--------------------------------------------------------------------------------
/tasks/21.md:
--------------------------------------------------------------------------------
1 | ### Тип треугольника - [Type of Triangle]
2 |
3 |
4 |
5 | #### eng:
6 | Write a query identifying the type of each record in the TRIANGLES table using its three side lengths. Output one of the following statements for each record in the table:
7 |
8 | Equilateral: It's a triangle with sides of equal length.
9 | Isosceles: It's a triangle with sides of equal length.
10 | Scalene: It's a triangle with sides of differing lengths.
11 | Not A Triangle: The given values of A, B, and C don't form a triangle.
12 | Input Format
13 |
14 | The TRIANGLES table is described as follows:
15 | Each row in the table denotes the lengths of each of a triangle's three sides.
16 |
17 | Sample Input
18 |
19 |
20 | #### рус:
21 | Напишите запрос, определяющий тип каждой записи в таблице TRIANGLES, используя три длины
22 | ее сторон. Выведите одно из следующих утверждений для каждой записи в таблице:
23 |
24 | Равносторонний: Это треугольник со сторонами одинаковой длины.
25 | Равнобедренный: это треугольник со сторонами одинаковой длины.
26 | Scalene: Это треугольник со сторонами разной длины.
27 | Не треугольник: заданные значения A, B и C не образуют треугольник.
28 | Формат ввода
29 |
30 | Таблица TRIANGLES описывается следующим образом:
31 | Каждая строка в таблице обозначает длины каждой из трех сторон треугольника.
32 |
33 | Образец ввода
34 |
35 |
36 | #### код с коментариями:
37 | ```sql
38 | SELECT /* выбрать данные */
39 | CASE /* условный оператор */
40 | WHEN A+B<=C THEN 'Not A Triangle' /* условие 1 - результат */
41 | WHEN A=B AND B=C and A=C THEN 'Equilateral' /* условие 2 - результат */
42 | WHEN A=B OR B=C OR C=A THEN 'Isosceles' /* условие 3 - результат */
43 | ELSE 'Scalene' /* иначе - результат */
44 | END /* конец условного оператора */
45 | FROM TRIANGLES; /* из таблицы */
46 | ```
47 |
48 | #### код для hackerrank:
49 | ```sql
50 | SELECT
51 | CASE
52 | WHEN A+B<=C THEN 'Not A Triangle'
53 | WHEN A=B AND B=C and A=C THEN 'Equilateral'
54 | WHEN A=B OR B=C OR C=A THEN 'Isosceles'
55 | ELSE 'Scalene'
56 | END
57 | FROM TRIANGLES;
58 |
59 | ```
60 |
61 |
62 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
63 |
64 | ---
--------------------------------------------------------------------------------
/tasks/21.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CASE
3 | WHEN A+B<=C THEN 'Not A Triangle'
4 | WHEN A=B AND B=C and A=C THEN 'Equilateral'
5 | WHEN A=B OR B=C OR C=A THEN 'Isosceles'
6 | ELSE 'Scalene'
7 | END
8 | FROM TRIANGLES;
--------------------------------------------------------------------------------
/tasks/22.md:
--------------------------------------------------------------------------------
1 | ### ПОДУШКИ - [The PADS]
2 |
3 |
4 |
5 | #### eng:
6 | Generate the following two result sets:
7 |
8 | Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession as a parenthetical (i.e.: enclosed in parentheses). For example: AnActorName(A), ADoctorName(D), AProfessorName(P), and ASingerName(S).
9 | Query the number of ocurrences of each occupation in OCCUPATIONS. Sort the occurrences in ascending order, and output them in the following format:
10 |
11 | There are a total of [occupation_count] [occupation]s.
12 | where [occupation_count] is the number of occurrences of an occupation in OCCUPATIONS and [occupation] is the lowercase occupation name. If more than one Occupation has the same [occupation_count], they should be ordered alphabetically.
13 |
14 | Note: There will be at least two entries in the table for each type of occupation.
15 |
16 |
17 | #### рус:
18 | Сгенерируйте следующие два набора результатов:
19 |
20 | Запросите упорядоченный по алфавиту список всех имен в ПРОФЕССИЯХ, сразу за которыми следует первая буква каждой
21 | профессии в скобках (т. е. заключенная в круглые скобки). Например: AnActorName(A),
22 | ADoctorName(D), AProfessorName(P) и ASingerName(S).
23 | Запросите количество вхождений каждой профессии в OCCUPATIONS.
24 | Отсортируйте вхождения в порядке возрастания и выведите их в следующем формате:
25 |
26 | Всего существует [occupation_count] [оккупация].
27 | где [occupation_count] — количество вхождений занятия в OCCUPATIONS, а [occupation] — название занятия в нижнем регистре. Если более чем одна профессия имеет один и тот же [occupation_count], они должны быть упорядочены в алфавитном порядке.
28 |
29 | Примечание. В таблице будет не менее двух записей для каждого вида занятий.
30 |
31 |
32 | #### код с коментариями:
33 | ```sql
34 | -- первый запрос
35 | SELECT /* выбрать данные */
36 | CONCAT(name,'(',LEFT(occupation,1),')') AS Name /* столбец */
37 | FROM OCCUPATIONS /* из таблицы */
38 | ORDER BY name; /* отсортировать по столбцу */
39 |
40 | -- второй запрос
41 | SELECT /* выбрать данные */
42 | CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.') /* столбец */
43 | FROM OCCUPATIONS /* из таблицы */
44 | GROUP BY occupation /* сгруппировать */
45 | ORDER BY COUNT(*) ASC; /* отсортировать по количеству */
46 | ```
47 |
48 | #### код для hackerrank:
49 | ```sql
50 | SELECT
51 | CONCAT(name,'(',LEFT(occupation,1),')') AS Name
52 | FROM OCCUPATIONS
53 | ORDER BY name;
54 |
55 | SELECT
56 | CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.')
57 | FROM OCCUPATIONS
58 | GROUP BY occupation
59 | ORDER BY COUNT(*) ASC;
60 | ```
61 |
62 |
63 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
64 |
65 | ---
--------------------------------------------------------------------------------
/tasks/22.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CONCAT(name,'(',LEFT(occupation,1),')') AS Name
3 | FROM OCCUPATIONS
4 | ORDER BY name;
5 |
6 | SELECT
7 | CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.')
8 | FROM OCCUPATIONS
9 | GROUP BY occupation
10 | ORDER BY COUNT(*) ASC;
--------------------------------------------------------------------------------
/tasks/23.md:
--------------------------------------------------------------------------------
1 | ### Профессии - [Occupations]
2 |
3 |
4 |
5 | #### eng:
6 | Pivot the Occupation column in OCCUPATIONS so that each Name is sorted alphabetically and displayed underneath its
7 | corresponding Occupation. The output column headers should be Doctor, Professor, Singer, and Actor, respectively.
8 |
9 | Note: Print NULL when there are no more names corresponding to an occupation.
10 |
11 | Input Format
12 |
13 | The OCCUPATIONS table is described as follows:
14 | Occupation will only contain one of the following values: Doctor, Professor, Singer or Actor.
15 |
16 |
17 | #### рус:
18 | Поверните столбец «Профессия» в «ОККУПАЦИИ», чтобы каждое имя было отсортировано в
19 | алфавитном порядке и отображалось под соответствующей профессией.
20 | Заголовки выходных столбцов должны быть «Доктор», «Профессор», «Певец» и «Актер»
21 | соответственно.
22 |
23 | Примечание. Выведите NULL, если больше нет имен, соответствующих роду занятий.
24 |
25 | Формат ввода
26 |
27 | Таблица OCCUPATIONS описывается следующим образом:
28 | Род занятий будет содержать только одно из следующих значений: Доктор, Профессор, Певец
29 | или Актер.
30 |
31 |
32 | #### код с коментариями:
33 | ```sql
34 | -- Итак нам нужно будет создать таблицу из 4-х столбцов доктор, профессор, певец,
35 | -- обобщенное табличное выражение
36 | WITH temp AS ( /* создать временную таблицу */
37 | SELECT /* выбрать данные */
38 | CASE /* в случае */
39 | WHEN occupation='doctor' THEN name /* когда занятие доктор имя внести в столбец доктор */
40 | END AS doctor,
41 | CASE /* в случае */
42 | WHEN occupation='professor' THEN name /* когда занятие профессор имя внести в столбец профессор */
43 | END AS professor,
44 | CASE /* в случае */
45 | WHEN occupation='singer' THEN name /* когда занятие певец имя внести в столбец певец */
46 | END AS singer,
47 | CASE /* в случае */
48 | WHEN occupation='actor' THEN name /* когда занятие актер имя внести в столбец актер */
49 | END AS actor,
50 | row_number() over /* нумерует строки, возвращаемые запросом */
51 | (partition by occupation /* разделить по занятию */
52 | ORDER BY name) as ran /* отсортировать по имени */
53 | FROM occupations) /* из таблицы занятие */
54 | SELECT /* выбрать данные */
55 | min(doctor), /* выбрать минимальные данные столбца */
56 | min(professor), /* выбрать минимальные данные столбца */
57 | min(singer), /* выбрать минимальные данные столбца */
58 | min(actor) /* выбрать минимальные данные столбца */
59 | FROM temp /* из временной таблицы */
60 | GROUP BY ran /* сгруппировать по столбцу номер по порядку */
61 | ```
62 |
63 | #### код для hackerrank:
64 | ```sql
65 | WITH temp AS (
66 | SELECT
67 | CASE
68 | WHEN occupation='doctor' THEN name
69 | END AS doctor,
70 | CASE
71 | WHEN occupation='professor' THEN name
72 | END AS professor,
73 | CASE
74 | WHEN occupation='singer' THEN name
75 | END AS singer,
76 | CASE
77 | WHEN occupation='actor' THEN name
78 | END AS actor,
79 | row_number() over (partition by occupation ORDER BY name) as ran
80 | FROM occupations)
81 | SELECT
82 | min(doctor),
83 | min(professor),
84 | min(singer),
85 | min(actor)
86 | FROM temp
87 | GROUP BY ran
88 | ```
89 |
90 |
91 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
92 |
93 | ---
--------------------------------------------------------------------------------
/tasks/23.sql:
--------------------------------------------------------------------------------
1 | WITH temp AS (
2 | SELECT
3 | CASE
4 | WHEN occupation='doctor' THEN name
5 | END AS doctor,
6 | CASE
7 | WHEN occupation='professor' THEN name
8 | END AS professor,
9 | CASE
10 | WHEN occupation='singer' THEN name
11 | END AS singer,
12 | CASE
13 | WHEN occupation='actor' THEN name
14 | END AS actor,
15 | row_number() over (partition by occupation ORDER BY name) as ran
16 | FROM occupations)
17 | SELECT
18 | min(doctor),
19 | min(professor),
20 | min(singer),
21 | min(actor)
22 | FROM temp
23 | GROUP BY ran
--------------------------------------------------------------------------------
/tasks/24.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | You are given a table, BST, containing two columns: N and P, where N represents the value of a node in Binary Tree,
7 | and P is the parent of N.
8 |
9 | Write a query to find the node type of Binary Tree ordered by the value of the node. Output one of the following
10 | for each node:
11 |
12 | Root: If node is root node.
13 | Leaf: If node is leaf node.
14 | Inner: If node is neither root nor leaf node.
15 |
16 |
17 | #### рус:
18 | Вам дана таблица BST, содержащая два столбца: N и P, где N представляет значение узла в двоичном дереве, а P
19 | является родителем N.
20 |
21 |
22 | Напишите запрос, чтобы найти тип узла двоичного дерева, упорядоченный по значению узла. Выведите одно из следующего
23 | для каждого узла:
24 |
25 | Корень: если узел является корневым узлом.
26 | Лист: если узел является листовым узлом.
27 | Внутренний: если узел не является ни корневым, ни конечным узлом.
28 |
29 |
30 | #### код с коментариями:
31 | ```sql
32 | SELECT /* выбрать данные */
33 | n , /* столбец номер */
34 | CASE /* создадим новый столбец, в котором */
35 | WHEN p IS NULL THEN "Root" /* если значение ноль, то выводим значение "Root"*/
36 | WHEN n IN(SELECT p FROM bst) THEN "Inner" /* если значение есть в столбце то значение "Inner" */
37 | ELSE "Leaf" /* все остальные значение "Leaf" */
38 | END /* закончить новый столбец */
39 | FROM bst /* из таблицы */
40 | ORDER BY n; /* отсортировать по номеру */
41 | ```
42 |
43 | #### код для hackerrank:
44 | ```sql
45 | SELECT
46 | n ,
47 | CASE
48 | WHEN p IS NULL THEN "Root"
49 | WHEN n IN(SELECT p FROM bst) THEN "Inner"
50 | ELSE "Leaf"
51 | END
52 | FROM bst
53 | ORDER BY n;
54 | ```
55 |
56 |
57 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
58 |
59 | ---
--------------------------------------------------------------------------------
/tasks/24.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | n ,
3 | CASE
4 | WHEN p IS NULL THEN "Root"
5 | WHEN n IN(SELECT p FROM bst) THEN "Inner"
6 | ELSE "Leaf"
7 | END
8 | FROM bst
9 | ORDER BY n;
--------------------------------------------------------------------------------
/tasks/25.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Amber's conglomerate corporation just acquired some new companies. Each of the companies follows this hierarchy:
7 |
8 | Given the table schemas below, write a query to print the company_code, founder name, total number of lead managers,
9 | total number of senior managers, total number of managers, and total number of employees. Order your output by
10 | ascending company_code.
11 |
12 | Note:
13 |
14 | The tables may contain duplicate records.
15 | The company_code is string, so the sorting should not be numeric. For example, if the company_codes are C_1, C_2,
16 | and C_10, then the ascending company_codes will be C_1, C_10, and C_2.
17 |
18 |
19 |
20 | #### рус:
21 | Корпорация-конгломерат Эмбер только что приобрела несколько новых компаний. Каждая из компаний следует этой иерархии:
22 |
23 | Учитывая приведенные ниже схемы таблиц, напишите запрос для вывода кода компании, имени основателя, общего числа
24 | ведущих менеджеров, общего числа старших менеджеров, общего числа менеджеров и общего числа сотрудников.
25 | Упорядочите выходные данные по возрастанию company_code.
26 |
27 | Примечание:
28 |
29 | Таблицы могут содержать повторяющиеся записи.
30 | Код компании является строкой, поэтому сортировка не должна быть числовой. Например, если company_codes — C_1, C_2
31 | и C_10, то возрастающие company_codes будут C_1, C_10 и C_2.
32 |
33 |
34 | #### код с коментариями:
35 | ```sql
36 | SELECT /* выбрать данные */
37 | c.company_code, /* столбец код компании */
38 | c.founder, /* столбец основатель */
39 | COUNT(DISTINCT l.lead_manager_code), /* столбец количество лидов */
40 | COUNT(DISTINCT s.senior_manager_code), /* столбец количество сеньеров */
41 | COUNT(DISTINCT ma.manager_code), /* столбец количество программистов */
42 | COUNT(DISTINCT e.employee_code) /* столбец количество разработчик */
43 | FROM company c /* из таблицы компании с псевданимом */
44 | RIGHT JOIN lead_manager l ON l.company_code = c.company_code /* правое объединение таблицы лиды и компании */
45 | RIGHT JOIN senior_manager s ON s.company_code = c.company_code /* правое объединение таблицы сеньеры и компании */
46 | RIGHT JOIN manager ma ON ma.company_code = c.company_code /* правое объединение таблицы программисты и компании */
47 | RIGHT JOIN employee e ON e.company_code = c.company_code /* правое объединение таблицы разработчики и компании */
48 | GROUP BY c.company_code, founder /* сгруппировать по компаниям, затем по основателям */
49 | ```
50 |
51 | #### код для hackerrank:
52 | ```sql
53 | SELECT
54 | c.company_code,
55 | c.founder,
56 | COUNT(DISTINCT l.lead_manager_code),
57 | COUNT(DISTINCT s.senior_manager_code),
58 | COUNT(DISTINCT ma.manager_code),
59 | COUNT(DISTINCT e.employee_code)
60 | FROM company c
61 | RIGHT JOIN lead_manager l ON l.company_code = c.company_code
62 | RIGHT JOIN senior_manager s ON s.company_code = c.company_code
63 | RIGHT JOIN manager ma ON ma.company_code = c.company_code
64 | RIGHT JOIN employee e ON e.company_code = c.company_code
65 | GROUP BY c.company_code, founder
66 | ```
67 |
68 |
69 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
70 |
71 | ---
--------------------------------------------------------------------------------
/tasks/25.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | c.company_code,
3 | c.founder,
4 | COUNT(DISTINCT l.lead_manager_code),
5 | COUNT(DISTINCT s.senior_manager_code),
6 | COUNT(DISTINCT ma.manager_code),
7 | COUNT(DISTINCT e.employee_code)
8 | FROM company c
9 | RIGHT JOIN lead_manager l ON l.company_code = c.company_code
10 | RIGHT JOIN senior_manager s ON s.company_code = c.company_code
11 | RIGHT JOIN manager ma ON ma.company_code = c.company_code
12 | RIGHT JOIN employee e ON e.company_code = c.company_code
13 | GROUP BY c.company_code, founder
--------------------------------------------------------------------------------
/tasks/26.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the average population for all cities in CITY, rounded down to the nearest integer.
7 |
8 | Input Format
9 |
10 | The CITY table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросите среднюю численность населения для всех городов в CITY, округленную до ближайшего целого числа.
15 |
16 | Формат ввода
17 |
18 | Таблица CITY описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | ROUND(AVG(POPULATION)) /* столбец округленное среднее значение численности населения */
25 | FROM CITY; /* из таблицы */
26 | ```
27 |
28 | #### код для hackerrank:
29 | ```sql
30 | SELECT
31 | ROUND(AVG(POPULATION))
32 | FROM CITY;
33 | ```
34 |
35 |
36 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
37 |
38 | ---
--------------------------------------------------------------------------------
/tasks/26.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(AVG(POPULATION))
3 | FROM CITY;
--------------------------------------------------------------------------------
/tasks/27.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the sum of the populations for all Japanese cities in CITY. The COUNTRYCODE for Japan is JPN.
7 |
8 | Input Format
9 |
10 | The CITY table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросите сумму населения для всех японских городов в CITY. КОД СТРАНЫ для Японии — JPN.
15 |
16 | Формат ввода
17 |
18 | Таблица CITY описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | SUM(POPULATION) /* столбец сумма популяции */
25 | FROM CITY /* из таблицы */
26 | WHERE COUNTRYCODE = 'JPN'; /* где код страны равен японскому */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT
32 | SUM(POPULATION)
33 | FROM CITY
34 | WHERE COUNTRYCODE = 'JPN';
35 | ```
36 |
37 |
38 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
39 |
40 | ---
--------------------------------------------------------------------------------
/tasks/27.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | SUM(POPULATION)
3 | FROM CITY
4 | WHERE COUNTRYCODE = 'JPN';
--------------------------------------------------------------------------------
/tasks/28.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the difference between the maximum and minimum populations in CITY.
7 |
8 | Input Format
9 |
10 | The CITY table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросите разницу между максимальной и минимальной численностью населения в CITY.
15 |
16 | Формат ввода
17 |
18 | Таблица CITY описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | MAX(POPULATION) - MIN(POPULATION) /* столбец разница максимального значения и минимального значения */
25 | FROM CITY; /* из таблицы */
26 | ```
27 |
28 | #### код для hackerrank:
29 | ```sql
30 | SELECT
31 | MAX(POPULATION) - MIN(POPULATION)
32 | FROM CITY;
33 | ```
34 |
35 |
36 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
37 |
38 | ---
--------------------------------------------------------------------------------
/tasks/28.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | MAX(POPULATION) - MIN(POPULATION)
3 | FROM CITY;
--------------------------------------------------------------------------------
/tasks/29.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Samantha was tasked with calculating the average monthly salaries for all employees in the EMPLOYEES table, but did
7 | not realize her keyboard's key was broken until after completing the calculation. She wants your help finding the
8 | difference between her miscalculation (using salaries with any zeros removed), and the actual average salary.
9 |
10 | Write a query calculating the amount of error (i.e.: average monthly salaries), and round it up to the next integer.
11 |
12 |
13 | #### рус:
14 | Саманте было поручено рассчитать среднемесячную заработную плату для всех сотрудников в таблице EMPLOYEES, но она
15 | не осознавала, что клавиша на ее клавиатуре сломана, пока не завершила расчет. Она хочет, чтобы вы помогли найти
16 | разницу между ее просчетом (с использованием зарплаты с удаленными нулями) и фактической средней зарплатой.
17 |
18 | Напишите запрос, вычисляющий сумму ошибки (т. е. среднемесячную заработную плату), и округлите ее до следующего целого числа.
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | ROUND(AVG(SALARY)) - ROUND(AVG(REPLACE(SALARY,'0',''))) /* столбец округленной разницы средней зарпалты и
25 | округленного значения замененной зарплаты */
26 | FROM EMPLOYEES; /* из таблицы */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT
32 | ROUND(AVG(SALARY)) - ROUND(AVG(REPLACE(SALARY,'0','')))
33 | FROM EMPLOYEES;
34 | ```
35 |
36 |
37 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
38 |
39 | ---
--------------------------------------------------------------------------------
/tasks/29.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(AVG(SALARY)) - ROUND(AVG(REPLACE(SALARY,'0','')))
3 | FROM EMPLOYEES;
--------------------------------------------------------------------------------
/tasks/3.md:
--------------------------------------------------------------------------------
1 | ### Выбрать все [Select All]
2 |
3 |
4 |
5 | #### eng:
6 | Query all columns (attributes) for every row in the CITY table.
7 | The CITY table is described as follows:
8 |
9 |
10 | #### рус:
11 | Запросите все столбцы (атрибуты) для каждой строки в таблице CITY.
12 | Таблица CITY описывается следующим образом:
13 |
14 |
15 | #### код с пояснениями:
16 | ```sql
17 | SELECT /* выбрать данные */
18 | * /* всех столбцов */
19 | FROM /* из */
20 | CITY /* таблицы */
21 | ```
22 |
23 | #### код для hackerrank:
24 | ```sql
25 | SELECT * FROM CITY
26 | ```
27 |
28 |
29 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
30 |
31 | ---
--------------------------------------------------------------------------------
/tasks/3.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM CITY
--------------------------------------------------------------------------------
/tasks/30.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | We define an employee's total earnings to be their monthly worked, and the maximum total earnings to be the maximum
7 | total earnings for any employee in the Employee table. Write a query to find the maximum total earnings for all
8 | employees as well as the total number of employees who have maximum total earnings. Then print these values as
9 | space-separated integers.
10 |
11 |
12 | #### рус:
13 | Мы определяем общий заработок сотрудника как его отработанный месяц, а максимальный общий заработок — как
14 | максимальный общий заработок любого сотрудника в таблице «Сотрудники». Напишите запрос, чтобы найти максимальный
15 | общий заработок для всех сотрудников, а также общее количество сотрудников с максимальным общим заработком. Затем
16 | выведите эти значения как целые числа, разделенные пробелами.
17 |
18 |
19 | #### код с коментариями:
20 | ```sql
21 | SELECT /* выбрать данные */
22 | MAX(SALARY*MONTHS), /* столбец максимальное значение произведения */
23 | COUNT(SALARY*MONTHS) /* столбец сумма произведения */
24 | FROM EMPLOYEE /* из таблицы */
25 | WHERE (SALARY*MONTHS) = (SELECT /* где выполняется условие */
26 | MAX(SALARY*MONTHS)
27 | FROM EMPLOYEE);
28 | ```
29 |
30 | #### код для hackerrank:
31 | ```sql
32 | SELECT
33 | MAX(SALARY*MONTHS),
34 | COUNT(SALARY*MONTHS)
35 | FROM EMPLOYEE
36 | WHERE (SALARY*MONTHS) = (SELECT
37 | MAX(SALARY*MONTHS)
38 | FROM EMPLOYEE);
39 | ```
40 |
41 |
42 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
43 |
44 | ---
--------------------------------------------------------------------------------
/tasks/30.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | MAX(SALARY*MONTHS),
3 | COUNT(SALARY*MONTHS)
4 | FROM EMPLOYEE
5 | WHERE (SALARY*MONTHS) = (SELECT
6 | MAX(SALARY*MONTHS)
7 | FROM EMPLOYEE);
--------------------------------------------------------------------------------
/tasks/31.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query a count of the number of cities in CITY having a Population larger than 100000
7 |
8 |
9 | #### рус:
10 | Запрос количества городов в CITY с населением более 100000 человек
11 |
12 |
13 | #### код с коментариями:
14 | ```sql
15 | SELECT /* выбрать данные */
16 | COUNT(POPULATION) /* столбец подсчета населения */
17 | FROM CITY /* из таблицы */
18 | WHERE POPULATION > 100000; /* где условие */
19 | ```
20 |
21 | #### код для hackerrank:
22 | ```sql
23 | SELECT
24 | COUNT(POPULATION)
25 | FROM CITY
26 | WHERE POPULATION > 100000;
27 | ```
28 |
29 |
30 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
31 |
32 | ---
--------------------------------------------------------------------------------
/tasks/31.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | COUNT(POPULATION)
3 | FROM CITY
4 | WHERE POPULATION > 100000;
--------------------------------------------------------------------------------
/tasks/32.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the total population of all cities in CITY where District is California.
7 |
8 | Input Format
9 |
10 | The CITY table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросите общую численность населения всех городов в CITY, где District — Калифорния.
15 |
16 | Формат ввода
17 |
18 | Таблица CITY описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | SUM(POPULATION) /* столбец суммы населения */
25 | FROM CITY /* из таблицы */
26 | WHERE DISTRICT = 'CALIFORNIA'; /* где условие */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT
32 | SUM(POPULATION)
33 | FROM CITY
34 | WHERE DISTRICT = 'CALIFORNIA';
35 | ```
36 |
37 |
38 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
39 |
40 | ---
--------------------------------------------------------------------------------
/tasks/32.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | SUM(POPULATION)
3 | FROM CITY
4 | WHERE DISTRICT = 'CALIFORNIA';
--------------------------------------------------------------------------------
/tasks/33.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the average population of all cities in CITY where District is California.
7 |
8 | Input Format
9 |
10 | The CITY table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросить среднюю численность населения всех городов в CITY, где District — Калифорния.
15 |
16 | Формат ввода
17 |
18 | Таблица CITY описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | AVG(POPULATION) /* столбец */
25 | FROM CITY /* из таблицы */
26 | WHERE DISTRICT = 'CALIFORNIA'; /* где условие */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT
32 | AVG(POPULATION)
33 | FROM CITY
34 | WHERE DISTRICT = 'CALIFORNIA';
35 | ```
36 |
37 |
38 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
39 |
40 | ---
--------------------------------------------------------------------------------
/tasks/33.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | AVG(POPULATION)
3 | FROM CITY
4 | WHERE DISTRICT = 'CALIFORNIA';
--------------------------------------------------------------------------------
/tasks/34.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the following two values from the STATION table:
7 |
8 | The sum of all values in LAT_N rounded to a scale of decimal places.
9 | The sum of all values in LONG_W rounded to a scale of decimal places.
10 | Input Format
11 |
12 | The STATION table is described as follows:
13 |
14 | Station.jpg
15 |
16 | where LAT_N is the northern latitude and LONG_W is the western longitude.
17 |
18 |
19 | #### рус:
20 | Запросите следующие два значения из таблицы STATION:
21 |
22 | Сумма всех значений в LAT_N, округленная до десятичной дроби.
23 | Сумма всех значений в LONG_W, округленная до десятичных разрядов.
24 | Формат ввода
25 |
26 | Таблица STATION описывается следующим образом:
27 |
28 | Станция.jpg
29 |
30 | где LAT_N — северная широта, а LONG_W — западная долгота.
31 |
32 |
33 | #### код с коментариями:
34 | ```sql
35 | SELECT /* выбрать данные */
36 | ROUND(SUM(LAT_N),2), /* столбец */
37 | ROUND(SUM(LONG_W),2) /* столбец */
38 | FROM STATION; /* из таблицы */
39 | ```
40 |
41 | #### код для hackerrank:
42 | ```sql
43 | SELECT
44 | ROUND(SUM(LAT_N),2),
45 | ROUND(SUM(LONG_W),2)
46 | FROM STATION;
47 | ```
48 |
49 |
50 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
51 |
52 | ---
--------------------------------------------------------------------------------
/tasks/34.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(SUM(LAT_N),2) ,
3 | ROUND(SUM(LONG_W),2)
4 | FROM STATION;
--------------------------------------------------------------------------------
/tasks/35.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the sum of Northern Latitudes (LAT_N) from STATION having values greater than .. and less than .. . Truncate your
7 | answer to decimal places.
8 |
9 | Input Format
10 |
11 | The STATION table is described as follows:
12 |
13 |
14 | #### рус:
15 | Запросите сумму северных широт (LAT_N) из STATION со значениями больше .. и меньше .. . Сократите свой ответ до
16 | десятичных знаков.
17 |
18 | Формат ввода
19 |
20 | Таблица STATION описывается следующим образом:
21 |
22 |
23 | #### код с коментариями:
24 | ```sql
25 | SELECT /* выбрать данные */
26 | ROUND(SUM(LAT_N), 4) /* столбец округленное значение суммы */
27 | FROM STATION /* из таблицы */
28 | WHERE /* где */
29 | LAT_N > 38.7880 AND /* условие 1 и */
30 | LAT_N < 137.2345 /* условие 2 */
31 | ```
32 |
33 | #### код для hackerrank:
34 | ```sql
35 | SELECT
36 | ROUND(SUM(LAT_N), 4)
37 | FROM STATION
38 | WHERE
39 | LAT_N > 38.7880 AND
40 | LAT_N < 137.2345
41 | ```
42 |
43 |
44 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
45 |
46 | ---
--------------------------------------------------------------------------------
/tasks/35.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(SUM(LAT_N), 4)
3 | FROM STATION
4 | WHERE
5 | LAT_N > 38.7880 AND
6 | LAT_N < 137.2345
--------------------------------------------------------------------------------
/tasks/36.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the greatest value of the Northern Latitudes (LAT_N) from STATION that is less than . Truncate your answer to decimal places.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросите наибольшее значение северных широт (LAT_N) из STATION, которое меньше. Сократите свой ответ до десятичных знаков.
15 |
16 | Формат ввода
17 |
18 | Таблица STATION описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | TRUNCATE(MAX(lat_N),4) /* столбец */
25 | FROM STATION /* из таблицы */
26 | WHERE LAT_N <137.2345 /* где условие */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT
32 | TRUNCATE(MAX(lat_N),4)
33 | FROM STATION
34 | WHERE LAT_N <137.2345
35 | ```
36 |
37 |
38 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
39 |
40 | ---
--------------------------------------------------------------------------------
/tasks/36.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | TRUNCATE(MAX(lat_N),4)
3 | FROM STATION
4 | WHERE LAT_N <137.2345
--------------------------------------------------------------------------------
/tasks/37.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the Western Longitude (LONG_W) for the largest Northern Latitude (LAT_N) in STATION that is less than . Round your answer to decimal places.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросите западную долготу (LONG_W) для наибольшей северной широты (LAT_N) в STATION, которая меньше . Округлите ответ до десятичных знаков.
15 |
16 | Формат ввода
17 |
18 | Таблица STATION описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | CAST(LONG_W AS DECIMAL(10,4)) /* столбец */
25 | FROM STATION /* где */
26 | WHERE LAT_N < 137.2345 /* условие */
27 | ORDER BY LAT_N /* отсортировать по */
28 | DESC LIMIT 1 /* вывести только одно значение */
29 | ```
30 |
31 | #### код для hackerrank:
32 | ```sql
33 | SELECT
34 | CAST(LONG_W AS DECIMAL(10,4))
35 | FROM STATION
36 | WHERE LAT_N < 137.2345
37 | ORDER BY LAT_N
38 | DESC LIMIT 1
39 | ```
40 |
41 |
42 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
43 |
44 | ---
--------------------------------------------------------------------------------
/tasks/37.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CAST(LONG_W AS DECIMAL(10,4))
3 | FROM STATION
4 | WHERE LAT_N < 137.2345
5 | ORDER BY LAT_N
6 | DESC LIMIT 1
--------------------------------------------------------------------------------
/tasks/38.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the smallest Northern Latitude (LAT_N) from STATION that is greater than . Round your answer to decimal places.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросить наименьшую северную широту (LAT_N) из STATION, превышающую . Округлите ответ до десятичных знаков.
15 |
16 | Формат ввода
17 |
18 | Таблица STATION описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | ROUND(MIN(LAT_N),4) /* столбец */
25 | FROM STATION /* из таблицы */
26 | WHERE LAT_N >38.778 /* где условие */
27 | ```
28 |
29 | #### код для hackerrank:
30 | ```sql
31 | SELECT
32 | ROUND(MIN(LAT_N),4)
33 | FROM STATION
34 | WHERE LAT_N >38.778
35 | ```
36 |
37 |
38 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
39 |
40 | ---
--------------------------------------------------------------------------------
/tasks/38.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(MIN(LAT_N),4)
3 | FROM STATION
4 | WHERE LAT_N >38.778
--------------------------------------------------------------------------------
/tasks/39.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Query the Western Longitude (LONG_W)where the smallest Northern Latitude (LAT_N) in STATION is greater than . Round your answer to decimal places.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 |
12 |
13 | #### рус:
14 | Запросить западную долготу (LONG_W), где наименьшая северная широта (LAT_N) в STATION больше . Округлите ответ до десятичных знаков.
15 |
16 | Формат ввода
17 |
18 | Таблица STATION описывается следующим образом:
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | SELECT /* выбрать данные */
24 | ROUND(LONG_W,4) /* столбец */
25 | FROM STATION /* из таблицы */
26 | WHERE LAT_N > 38.7780 /* где условие */
27 | ORDER BY LAT_N ASC /* отсортировать по столбцу */
28 | LIMIT 1; /* вывести одно значение */
29 | ```
30 |
31 | #### код для hackerrank:
32 | ```sql
33 | SELECT
34 | ROUND(LONG_W,4)
35 | FROM STATION
36 | WHERE LAT_N > 38.7780
37 | ORDER BY LAT_N ASC
38 | LIMIT 1;
39 | ```
40 |
41 |
42 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
43 |
44 | ---
--------------------------------------------------------------------------------
/tasks/39.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(LONG_W,4)
3 | FROM STATION
4 | WHERE LAT_N > 38.7780
5 | ORDER BY LAT_N ASC
6 | LIMIT 1;
--------------------------------------------------------------------------------
/tasks/4.md:
--------------------------------------------------------------------------------
1 | ### Выбрать по идентификатору [Select By ID]
2 |
3 |
4 |
5 | #### eng:
6 | Query all columns for a city in CITY with the ID 1661.
7 | The CITY table is described as follows:
8 |
9 |
10 | #### рус:
11 | Запросите все столбцы для города в CITY с идентификатором 1661.
12 | Таблица CITY описывается следующим образом:
13 |
14 |
15 | #### код с пояснениями:
16 | ```sql
17 | SELECT * /* выбрать все столбца */
18 | FROM CITY /* из таблицы */
19 | WHERE ID = 1661 /* где условие */
20 | ```
21 |
22 | #### код для hackerrank
23 | ```sql
24 | SELECT * FROM CITY WHERE ID = 1661
25 | ```
26 |
27 |
28 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
29 |
30 | ---
--------------------------------------------------------------------------------
/tasks/4.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM CITY WHERE ID = 1661
--------------------------------------------------------------------------------
/tasks/40.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Consider and to be two points on a 2D plane.
7 |
8 | happens to equal the minimum value in Northern Latitude (LAT_N in STATION).
9 | happens to equal the minimum value in Western Longitude (LONG_W in STATION).
10 | happens to equal the maximum value in Northern Latitude (LAT_N in STATION).
11 | happens to equal the maximum value in Western Longitude (LONG_W in STATION).
12 | Query the Manhattan Distance between points and and round it to a scale of decimal places.
13 |
14 | Input Format
15 |
16 | The STATION table is described as follows:
17 |
18 |
19 | #### рус:
20 | Рассмотрим и быть двумя точками на 2D-плоскости.
21 |
22 | оказывается равным минимальному значению в северной широте (LAT_N в STATION).
23 | оказывается равным минимальному значению западной долготы (LONG_W в STATION).
24 | оказывается равным максимальному значению в северной широте (LAT_N в STATION).
25 | оказывается равным максимальному значению западной долготы (LONG_W в STATION).
26 | Запросите Манхэттенское расстояние между точками и округлите его до десятичной дроби.
27 |
28 | Формат ввода
29 |
30 | Таблица STATION описывается следующим образом:
31 |
32 |
33 | #### код с коментариями:
34 | ```sql
35 | SELECT /* выбрать данные */
36 | ROUND((Max(Lat_N)-Min(Lat_N))+(Max(LONG_W)-Min(LONG_W)), 4) /* столбец */
37 | FROM STATION /* из таблицы */
38 | ```
39 |
40 | #### код для hackerrank:
41 | ```sql
42 | SELECT
43 | ROUND((Max(Lat_N)-Min(Lat_N))+(Max(LONG_W)-Min(LONG_W)), 4)
44 | FROM STATION
45 | ```
46 |
47 |
48 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
49 |
50 | ---
--------------------------------------------------------------------------------
/tasks/40.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND((Max(Lat_N)-Min(Lat_N))+(Max(LONG_W)-Min(LONG_W)), 4)
3 | FROM STATION
--------------------------------------------------------------------------------
/tasks/41.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Consider and to be two points on a 2D plane where are the respective minimum and maximum values of Northern Latitude (LAT_N) and are the respective minimum and maximum values of Western Longitude (LONG_W) in STATION.
7 |
8 | Query the Euclidean Distance between points and and format your answer to display decimal digits.
9 |
10 | Input Format
11 |
12 | The STATION table is described as follows:
13 |
14 |
15 | #### рус:
16 | Рассмотрим две точки и на двумерной плоскости, где — соответствующие минимальное и максимальное значения северной широты (LAT_N) и соответствующие минимальное и максимальное значения западной долготы (LONG_W) в STATION.
17 |
18 | Запросите евклидово расстояние между точками и отформатируйте ответ для отображения десятичных цифр.
19 |
20 | Формат ввода
21 |
22 | Таблица STATION описывается следующим образом:
23 |
24 |
25 | #### код с коментариями:
26 | ```sql
27 | WITH CTE AS ( /* создадим временную таблицу */
28 | SELECT /* выбрать данные */
29 | MIN(LAT_N) X1, /* столбец */
30 | MAX(LAT_N) X2, /* столбец */
31 | MIN(LONG_W) Y1, /* столбец */
32 | MAX(LONG_W) Y2 /* столбец */
33 | FROM STATION) /* из таблицы */
34 | SELECT /* выбрать данные */
35 | ROUND(SQRT(POWER((X2-X1), 2) + POWER((Y2-Y1),2)),4) FROM CTE; /* выбрать данные */
36 | ```
37 |
38 | #### код для hackerrank:
39 | ```sql
40 | WITH CTE AS (
41 | SELECT
42 | MIN(LAT_N) X1,
43 | MAX(LAT_N) X2,
44 | MIN(LONG_W) Y1,
45 | MAX(LONG_W) Y2
46 | FROM STATION)
47 | SELECT ROUND(SQRT(POWER((X2-X1), 2) + POWER((Y2-Y1),2)),4) FROM CTE;
48 | ```
49 |
50 |
51 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
52 |
53 | ---
--------------------------------------------------------------------------------
/tasks/41.sql:
--------------------------------------------------------------------------------
1 | WITH CTE AS (
2 | SELECT
3 | MIN(LAT_N) X1,
4 | MAX(LAT_N) X2,
5 | MIN(LONG_W) Y1,
6 | MAX(LONG_W) Y2
7 | FROM STATION)
8 | SELECT ROUND(SQRT(POWER((X2-X1), 2) + POWER((Y2-Y1),2)),4) FROM CTE;
--------------------------------------------------------------------------------
/tasks/42.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | A median is defined as a number separating the higher half of a data set from the lower half. Query the median of the Northern Latitudes (LAT_N) from STATION and round your answer to decimal places.
7 |
8 | Input Format
9 |
10 | The STATION table is described as follows:
11 |
12 |
13 | #### рус:
14 | Медиана определяется как число, отделяющее верхнюю половину набора данных от нижней половины. Запросите медиану
15 | северных широт (LAT_N) из STATION и округлите ответ до десятичных знаков.
16 |
17 | Формат ввода
18 |
19 | Таблица STATION описывается следующим образом:
20 |
21 |
22 | #### код с коментариями:
23 | ```sql
24 | SELECT /* выбрать данные */
25 | ROUND(LAT_N,4) /* столбец */
26 | FROM /* из таблицы */
27 | (SELECT /* выбрать данные */
28 | LAT_N, /* столбец */
29 | PERCENT_RANK() OVER (ORDER BY LAT_N) AS PERCENTILE /* столбец с псевданимом */
30 | FROM STATION) AS A /* из таблицы */
31 | WHERE PERCENTILE = 0.5; /* где условие */
32 | ```
33 |
34 | #### код для hackerrank:
35 | ```sql
36 | SELECT
37 | ROUND(LAT_N,4)
38 | FROM
39 | (SELECT
40 | LAT_N,
41 | PERCENT_RANK()
42 | OVER (ORDER BY LAT_N) AS PERCENTILE
43 | FROM STATION) AS A
44 | WHERE PERCENTILE = 0.5;
45 | ```
46 |
47 |
48 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
49 |
50 | ---
--------------------------------------------------------------------------------
/tasks/42.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | ROUND(LAT_N,4)
3 | FROM
4 | (SELECT
5 | LAT_N,
6 | PERCENT_RANK()
7 | OVER (ORDER BY LAT_N) AS PERCENTILE
8 | FROM STATION) AS A
9 | WHERE PERCENTILE = 0.5;
--------------------------------------------------------------------------------
/tasks/43.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | You did such a great job helping Julia with her last coding contest challenge that she wants you to work on this one, too!
7 |
8 | The total score of a hacker is the sum of their maximum scores for all of the challenges. Write a query to print
9 | the hacker_id, name, and total score of the hackers ordered by the descending score. If more than one hacker
10 | achieved the same total score, then sort the result by ascending hacker_id. Exclude all hackers with a total score
11 | of from your result.
12 |
13 | Input Format
14 |
15 | The following tables contain contest data:
16 |
17 | Hackers: The hacker_id is the id of the hacker, and name is the name of the hacker.
18 |
19 | Submissions: The submission_id is the id of the submission, hacker_id is the id of the hacker who made the
20 | submission, challenge_id is the id of the challenge for which the submission belongs to, and score is the score of
21 | the submission.
22 |
23 |
24 | #### рус:
25 | Вы проделали такую большую работу, помогая Джулии с ее последним соревнованием по программированию, что она хочет,
26 | чтобы вы тоже поработали над этим!
27 |
28 | Общий балл хакера — это сумма его максимальных баллов за все испытания. Напишите запрос для вывода hacker_id, имени
29 | и общей оценки хакеров в порядке убывания. Если несколько хакеров набрали одинаковый общий балл, отсортируйте
30 | результат по возрастанию hacker_id. Исключите всех хакеров с общим счетом из вашего результата.
31 |
32 | Формат ввода
33 |
34 | В следующих таблицах содержатся данные о соревнованиях:
35 |
36 | Хакеры: hacker_id — это идентификатор хакера, а name — это имя хакера.
37 |
38 | Заявки: submit_id — это идентификатор отправки, hacker_id — это идентификатор хакера, сделавшего отправку,
39 | challenge_id — это идентификатор задачи, к которой относится отправка, а score — это оценка отправки.
40 |
41 |
42 | #### код с коментариями:
43 | ```sql
44 | SELECT /* выбрать данные */
45 | h.hacker_id, /* столбец */
46 | h.name, /* столбец */
47 | sum(s.max_score) as total_score /* столбец */
48 | FROM Hackers h /* из таблицы */
49 | JOIN ( /* объединить */
50 | SELECT /* выбрать данные */
51 | hacker_id, /* столбец */
52 | challenge_id, /* столбец */
53 | MAX(score) as max_score /* столбец с псевдонимом */
54 | FROM Submissions /* из таблицы */
55 | GROUP BY 1,2) s /* сгруппировать по 1-му и 2-му столбцу */
56 | ON h.hacker_id = s.hacker_id /* по номеру хакера */
57 | GROUP BY 1,2 /* сгруппировать по 1-му и 2-му столбцу */
58 | HAVING sum(s.max_score) > 0 /* где сумма больше нулая */
59 | ORDER BY sum(s.max_score) DESC, h.hacker_id ASC /* отсортировать по .. */
60 | ```
61 |
62 | #### код для hackerrank:
63 | ```sql
64 | SELECT
65 | h.hacker_id,
66 | h.name,
67 | sum(s.max_score) as total_score
68 | FROM Hackers h
69 | JOIN (
70 | SELECT
71 | hacker_id,
72 | challenge_id,
73 | MAX(score) as max_score
74 | FROM Submissions
75 | GROUP BY 1,2) s
76 | ON h.hacker_id = s.hacker_id
77 | GROUP BY 1,2
78 | HAVING sum(s.max_score) > 0
79 | ORDER BY sum(s.max_score) DESC, h.hacker_id ASC
80 | ```
81 |
82 |
83 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
84 |
85 | ---
--------------------------------------------------------------------------------
/tasks/43.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | h.hacker_id,
3 | h.name,
4 | sum(s.max_score) as total_score
5 | FROM Hackers h
6 | JOIN (
7 | SELECT
8 | hacker_id,
9 | challenge_id,
10 | MAX(score) as max_score
11 | FROM Submissions
12 | GROUP BY 1,2) s
13 | ON h.hacker_id = s.hacker_id
14 | GROUP BY 1,2
15 | HAVING sum(s.max_score) > 0
16 | ORDER BY sum(s.max_score) DESC, h.hacker_id ASC
--------------------------------------------------------------------------------
/tasks/44.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Samantha interviews many candidates from different colleges using coding challenges and contests. Write a query to
7 | print the contest_id, hacker_id, name, and the sums of total_submissions, total_accepted_submissions, total_views,
8 | and total_unique_views for each contest sorted by contest_id. Exclude the contest from the result if all four sums are .
9 |
10 | Note: A specific contest can be used to screen candidates at more than one college, but each college only holds
11 | screening contest.
12 |
13 |
14 | #### рус:
15 | Саманта берет интервью у многих кандидатов из разных колледжей, используя задачи и конкурсы по программированию.
16 | Напишите запрос для вывода идентификатора конкурса, идентификатора хакера, имени и сумм total_submissions,
17 | total_accepted_submissions, total_views и total_unique_views для каждого конкурса, отсортированного по конкурсу_id.
18 | Исключить конкурс из результата, если все четыре суммы равны .
19 |
20 | Примечание. Определенный конкурс может использоваться для отбора кандидатов более чем в одном колледже, но каждый
21 | колледж проводит только отборочный конкурс.
22 |
23 |
24 | #### код с коментариями:
25 | ```sql
26 | WITH TOTAL_SUBMISSION_STATS AS (
27 | SELECT CHALLENGE_ID,
28 | SUM(TOTAL_SUBMISSIONS) AS GRAND_TOTAL_SUBMISSIONS,
29 | SUM(TOTAL_ACCEPTED_SUBMISSIONS) AS GRAND_TOTAL_ACCEPTED_SUBMISSIONS
30 | FROM SUBMISSION_STATS
31 | GROUP BY CHALLENGE_ID
32 | ), TOTAL_VIEW_STATS AS (
33 | SELECT CHALLENGE_ID,
34 | SUM(TOTAL_VIEWS) AS GRAND_TOTAL_VIEWS,
35 | SUM(TOTAL_UNIQUE_VIEWS) AS GRAND_TOTAL_UNIQUE_VIEWS
36 | FROM VIEW_STATS
37 | GROUP BY CHALLENGE_ID
38 | )
39 | SELECT C1.CONTEST_ID, HACKER_ID, NAME,
40 | SUM(GRAND_TOTAL_SUBMISSIONS),
41 | SUM(GRAND_TOTAL_ACCEPTED_SUBMISSIONS),
42 | SUM(GRAND_TOTAL_VIEWS),
43 | SUM(GRAND_TOTAL_UNIQUE_VIEWS)
44 | FROM
45 | CONTESTS C1
46 | LEFT JOIN COLLEGES C2 ON C1.CONTEST_ID = C2.CONTEST_ID
47 | LEFT JOIN CHALLENGES C3 ON C2.COLLEGE_ID = C3.COLLEGE_ID
48 | LEFT JOIN TOTAL_VIEW_STATS V ON C3.CHALLENGE_ID = V.CHALLENGE_ID
49 | LEFT JOIN TOTAL_SUBMISSION_STATS S ON C3.CHALLENGE_ID = S.CHALLENGE_ID
50 | GROUP BY
51 | C1.CONTEST_ID, HACKER_ID, NAME
52 | HAVING
53 | SUM(GRAND_TOTAL_SUBMISSIONS) +
54 | SUM(GRAND_TOTAL_ACCEPTED_SUBMISSIONS) +
55 | SUM(GRAND_TOTAL_VIEWS) +
56 | SUM(GRAND_TOTAL_UNIQUE_VIEWS) != 0
57 | ORDER BY C1.CONTEST_ID;
58 | ```
59 |
60 | #### код для hackerrank:
61 | ```sql
62 | WITH TOTAL_SUBMISSION_STATS AS (
63 | SELECT CHALLENGE_ID,
64 | SUM(TOTAL_SUBMISSIONS) AS GRAND_TOTAL_SUBMISSIONS,
65 | SUM(TOTAL_ACCEPTED_SUBMISSIONS) AS GRAND_TOTAL_ACCEPTED_SUBMISSIONS
66 | FROM SUBMISSION_STATS
67 | GROUP BY CHALLENGE_ID
68 | ), TOTAL_VIEW_STATS AS (
69 | SELECT CHALLENGE_ID,
70 | SUM(TOTAL_VIEWS) AS GRAND_TOTAL_VIEWS,
71 | SUM(TOTAL_UNIQUE_VIEWS) AS GRAND_TOTAL_UNIQUE_VIEWS
72 | FROM VIEW_STATS
73 | GROUP BY CHALLENGE_ID
74 | )
75 | SELECT C1.CONTEST_ID, HACKER_ID, NAME,
76 | SUM(GRAND_TOTAL_SUBMISSIONS),
77 | SUM(GRAND_TOTAL_ACCEPTED_SUBMISSIONS),
78 | SUM(GRAND_TOTAL_VIEWS),
79 | SUM(GRAND_TOTAL_UNIQUE_VIEWS)
80 | FROM
81 | CONTESTS C1
82 | LEFT JOIN COLLEGES C2 ON C1.CONTEST_ID = C2.CONTEST_ID
83 | LEFT JOIN CHALLENGES C3 ON C2.COLLEGE_ID = C3.COLLEGE_ID
84 | LEFT JOIN TOTAL_VIEW_STATS V ON C3.CHALLENGE_ID = V.CHALLENGE_ID
85 | LEFT JOIN TOTAL_SUBMISSION_STATS S ON C3.CHALLENGE_ID = S.CHALLENGE_ID
86 | GROUP BY
87 | C1.CONTEST_ID, HACKER_ID, NAME
88 | HAVING
89 | SUM(GRAND_TOTAL_SUBMISSIONS) +
90 | SUM(GRAND_TOTAL_ACCEPTED_SUBMISSIONS) +
91 | SUM(GRAND_TOTAL_VIEWS) +
92 | SUM(GRAND_TOTAL_UNIQUE_VIEWS) != 0
93 | ORDER BY C1.CONTEST_ID;
94 | ```
95 |
96 |
97 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
98 |
99 | ---
--------------------------------------------------------------------------------
/tasks/44.sql:
--------------------------------------------------------------------------------
1 | WITH TOTAL_SUBMISSION_STATS AS (
2 | SELECT CHALLENGE_ID,
3 | SUM(TOTAL_SUBMISSIONS) AS GRAND_TOTAL_SUBMISSIONS,
4 | SUM(TOTAL_ACCEPTED_SUBMISSIONS) AS GRAND_TOTAL_ACCEPTED_SUBMISSIONS
5 | FROM SUBMISSION_STATS
6 | GROUP BY CHALLENGE_ID
7 | ), TOTAL_VIEW_STATS AS (
8 | SELECT CHALLENGE_ID,
9 | SUM(TOTAL_VIEWS) AS GRAND_TOTAL_VIEWS,
10 | SUM(TOTAL_UNIQUE_VIEWS) AS GRAND_TOTAL_UNIQUE_VIEWS
11 | FROM VIEW_STATS
12 | GROUP BY CHALLENGE_ID
13 | )
14 | SELECT C1.CONTEST_ID, HACKER_ID, NAME,
15 | SUM(GRAND_TOTAL_SUBMISSIONS),
16 | SUM(GRAND_TOTAL_ACCEPTED_SUBMISSIONS),
17 | SUM(GRAND_TOTAL_VIEWS),
18 | SUM(GRAND_TOTAL_UNIQUE_VIEWS)
19 | FROM
20 | CONTESTS C1
21 | LEFT JOIN COLLEGES C2 ON C1.CONTEST_ID = C2.CONTEST_ID
22 | LEFT JOIN CHALLENGES C3 ON C2.COLLEGE_ID = C3.COLLEGE_ID
23 | LEFT JOIN TOTAL_VIEW_STATS V ON C3.CHALLENGE_ID = V.CHALLENGE_ID
24 | LEFT JOIN TOTAL_SUBMISSION_STATS S ON C3.CHALLENGE_ID = S.CHALLENGE_ID
25 | GROUP BY
26 | C1.CONTEST_ID, HACKER_ID, NAME
27 | HAVING
28 | SUM(GRAND_TOTAL_SUBMISSIONS) +
29 | SUM(GRAND_TOTAL_ACCEPTED_SUBMISSIONS) +
30 | SUM(GRAND_TOTAL_VIEWS) +
31 | SUM(GRAND_TOTAL_UNIQUE_VIEWS) != 0
32 | ORDER BY C1.CONTEST_ID;
--------------------------------------------------------------------------------
/tasks/45.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Given the CITY and COUNTRY tables, query the sum of the populations of all cities where the CONTINENT is 'Asia'.
7 |
8 | Note: CITY.CountryCode and COUNTRY.Code are matching key columns.
9 |
10 | Input Format
11 |
12 | The CITY and COUNTRY tables are described as follows:
13 |
14 |
15 | #### рус:
16 | Имея таблицы CITY и COUNTRY, запросите сумму населения всех городов, где CONTINENT — «Азия».
17 |
18 | Примечание. CITY.CountryCode и COUNTRY.Code соответствуют ключевым столбцам.
19 |
20 | Формат ввода
21 |
22 | Таблицы CITY и COUNTRY описываются следующим образом:
23 |
24 |
25 | #### код с коментариями:
26 | ```sql
27 | SELECT /* выбрать данные */
28 | SUM(CITY.POPULATION) /* столбец */
29 | FROM CITY /* из таблицы */
30 | INNER JOIN COUNTRY /* объединить с таблицей */
31 | ON CITY.COUNTRYCODE = COUNTRY.CODE /* по коду страны */
32 | WHERE COUNTRY.CONTINENT = 'Asia' /* где условие */
33 | ```
34 |
35 | #### код для hackerrank:
36 | ```sql
37 | SELECT
38 | SUM(CITY.POPULATION)
39 | FROM CITY INNER JOIN COUNTRY
40 | ON CITY.COUNTRYCODE = COUNTRY.CODE
41 | WHERE COUNTRY.CONTINENT = 'Asia';
42 | ```
43 |
44 |
45 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
46 |
47 | ---
--------------------------------------------------------------------------------
/tasks/45.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | SUM(CITY.POPULATION)
3 | FROM CITY
4 | INNER JOIN COUNTRY
5 | ON CITY.COUNTRYCODE = COUNTRY.CODE
6 | WHERE COUNTRY.CONTINENT = 'Asia'
--------------------------------------------------------------------------------
/tasks/46.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Given the CITY and COUNTRY tables, query the sum of the populations of all cities where the CONTINENT is 'Asia'.
7 |
8 | Note: CITY.CountryCode and COUNTRY.Code are matching key columns.
9 |
10 |
11 | #### рус:
12 | Имея таблицы CITY и COUNTRY, запросите сумму населения всех городов, где CONTINENT — «Азия».
13 |
14 | Примечание. CITY.CountryCode и COUNTRY.Code соответствуют ключевым столбцам.
15 |
16 |
17 | #### код с коментариями:
18 | ```sql
19 | SELECT /* выбрать данные */
20 | SUM(CITY.POPULATION) /* столбец */
21 | FROM CITY /* из таблицы */
22 | INNER JOIN COUNTRY /* объединить с таблицей */
23 | ON CITY.COUNTRYCODE = COUNTRY.CODE /* по коду страны */
24 | WHERE COUNTRY.CONTINENT = 'Asia' /* где условие */
25 | ```
26 |
27 | #### код для hackerrank:
28 | ```sql
29 | SELECT
30 | SUM(CITY.POPULATION)
31 | FROM CITY INNER JOIN COUNTRY
32 | ON CITY.COUNTRYCODE = COUNTRY.CODE
33 | WHERE COUNTRY.CONTINENT = 'Asia';
34 | ```
35 |
36 |
37 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
38 |
39 | ---
--------------------------------------------------------------------------------
/tasks/46.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | SUM(CITY.POPULATION)
3 | FROM CITY INNER JOIN COUNTRY
4 | ON CITY.COUNTRYCODE = COUNTRY.CODE
5 | WHERE COUNTRY.CONTINENT = 'Asia';
--------------------------------------------------------------------------------
/tasks/47.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Given the CITY and COUNTRY tables, query the names of all cities where the CONTINENT is 'Africa'.
7 |
8 | Note: CITY.CountryCode and COUNTRY.Code are matching key columns.
9 |
10 |
11 | #### рус:
12 | Имея таблицы CITY и COUNTRY, запросите названия всех городов, где CONTINENT — «Африка».
13 |
14 | Примечание. CITY.CountryCode и COUNTRY.Code соответствуют ключевым столбцам.
15 |
16 |
17 | #### код с коментариями:
18 | ```sql
19 | SELECT
20 | CITY.NAME
21 | FROM CITY INNER JOIN COUNTRY
22 | ON CITY.COUNTRYCODE = COUNTRY.CODE
23 | WHERE COUNTRY.CONTINENT = 'Africa';
24 | ```
25 |
26 | #### код для hackerrank:
27 | ```sql
28 | SELECT
29 | CITY.NAME
30 | FROM CITY INNER JOIN COUNTRY
31 | ON CITY.COUNTRYCODE = COUNTRY.CODE
32 | WHERE COUNTRY.CONTINENT = 'Africa';
33 | ```
34 |
35 |
36 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
37 |
38 | ---
--------------------------------------------------------------------------------
/tasks/47.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CITY.NAME
3 | FROM CITY INNER JOIN COUNTRY
4 | ON CITY.COUNTRYCODE = COUNTRY.CODE
5 | WHERE COUNTRY.CONTINENT = 'Africa';
--------------------------------------------------------------------------------
/tasks/48.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Given the CITY and COUNTRY tables, query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) rounded down to the nearest integer.
7 |
8 | Note: CITY.CountryCode and COUNTRY.Code are matching key columns.
9 |
10 |
11 | #### рус:
12 | Имея таблицы CITY и COUNTRY, запросите названия всех континентов (COUNTRY.Continent) и соответствующее среднее население городов (CITY.Population), округленное до ближайшего целого числа.
13 |
14 | Примечание. CITY.CountryCode и COUNTRY.Code соответствуют ключевым столбцам.
15 |
16 |
17 | #### код с коментариями:
18 | ```sql
19 | SELECT /* выбрать данные */
20 | COUNTRY.CONTINENT, /* столбец */
21 | FLOOR(AVG(CITY.POPULATION)) /* столбец */
22 | FROM CITY JOIN COUNTRY /* из таблицы объединенной с таблицей */
23 | ON CITY.COUNTRYCODE = COUNTRY.CODE /* по коду страны */
24 | GROUP BY CONTINENT; /* сгруппировать по .. */
25 | ```
26 |
27 | #### код для hackerrank:
28 | ```sql
29 | SELECT
30 | COUNTRY.CONTINENT,
31 | FLOOR(AVG(CITY.POPULATION))
32 | FROM CITY JOIN COUNTRY
33 | ON CITY.COUNTRYCODE = COUNTRY.CODE
34 | GROUP BY CONTINENT;
35 | ```
36 |
37 |
38 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
39 |
40 | ---
--------------------------------------------------------------------------------
/tasks/48.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | COUNTRY.CONTINENT,
3 | FLOOR(AVG(CITY.POPULATION))
4 | FROM CITY JOIN COUNTRY
5 | ON CITY.COUNTRYCODE = COUNTRY.CODE
6 | GROUP BY CONTINENT;
--------------------------------------------------------------------------------
/tasks/49.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | You are given two tables: Students and Grades. Students contains three columns ID, Name and Marks.
7 |
8 |
9 |
10 | Grades contains the following data:
11 |
12 |
13 |
14 | Ketty gives Eve a task to generate a report containing three columns: Name, Grade and Mark. Ketty doesn't want the
15 | NAMES of those students who received a grade lower than 8. The report must be in descending order by grade -- i.e.
16 | higher grades are entered first. If there is more than one student with the same grade (8-10) assigned to them,
17 | order those particular students by their name alphabetically. Finally, if the grade is lower than 8, use "NULL" as
18 | their name and list them by their grades in descending order. If there is more than one student with the same grade
19 | (1-7) assigned to them, order those particular students by their marks in ascending order.
20 |
21 | Write a query to help Eve.
22 |
23 |
24 | #### рус:
25 | Вам даны две таблицы: Студенты и Оценки. Студенты содержит три столбца ID, имя и отметки.
26 |
27 |
28 |
29 | Оценки содержат следующие данные:
30 |
31 |
32 |
33 | Кетти дает Еве задание создать отчет, содержащий три столбца: Имя, Оценка и Оценка. Кетти не нужны ИМЕНА тех
34 | учеников, которые получили оценки ниже 8. Отчет должен быть в порядке убывания оценок, т. е. более высокие оценки
35 | вводятся первыми. Если есть более одного ученика с одинаковой оценкой (8-10), упорядочите этих конкретных учеников
36 | по их именам в алфавитном порядке. Наконец, если оценка ниже 8, используйте «NULL» в качестве их имени и
37 | перечислите их по их оценкам в порядке убывания. Если есть более одного учащегося с одинаковой оценкой (1-7),
38 | упорядочите этих конкретных учащихся по их оценкам в порядке возрастания.
39 |
40 | Напишите запрос, чтобы помочь Еве.
41 |
42 |
43 | #### код с коментариями:
44 | ```sql
45 | SELECT /* выбрать данные */
46 | CASE WHEN B.GRADE < 8 THEN NULL /* столбец по условию */
47 | ELSE A.NAME END AS NAME,
48 | B.GRADE, /* столбец */
49 | A.MARKS /* столбец */
50 | FROM STUDENTS A /* из таблицы */
51 | INNER JOIN GRADES B /* объединенной с таблицей */
52 | ON A.MARKS BETWEEN B.MIN_MARK AND B.MAX_MARK /* по столбцу */
53 | ORDER BY B.GRADE DESC, NAME, A.MARKS /* отсортировать по */
54 | ```
55 |
56 | #### код для hackerrank:
57 | ```sql
58 | SELECT
59 | CASE WHEN B.GRADE < 8 THEN NULL
60 | ELSE A.NAME END AS NAME,
61 | B.GRADE,
62 | A.MARKS
63 | FROM STUDENTS A
64 | INNER JOIN GRADES B
65 | ON A.MARKS BETWEEN B.MIN_MARK AND B.MAX_MARK
66 | ORDER BY
67 | B.GRADE DESC, NAME, A.MARKS
68 | ```
69 |
70 |
71 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
72 |
73 | ---
--------------------------------------------------------------------------------
/tasks/49.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CASE WHEN B.GRADE < 8 THEN NULL
3 | ELSE A.NAME END AS NAME,
4 | B.GRADE,
5 | A.MARKS
6 | FROM STUDENTS A
7 | INNER JOIN GRADES B
8 | ON A.MARKS BETWEEN B.MIN_MARK AND B.MAX_MARK
9 | ORDER BY
10 | B.GRADE DESC, NAME, A.MARKS
--------------------------------------------------------------------------------
/tasks/5.md:
--------------------------------------------------------------------------------
1 | ### Атрибуты японских городов [Japanese Cities' Attributes]
2 |
3 |
4 |
5 | #### eng:
6 | Query all attributes of every Japanese city in the CITY table. The COUNTRYCODE for Japan is JPN.
7 | The CITY table is described as follows:
8 |
9 |
10 | #### рус:
11 | Запросите все атрибуты каждого японского города в таблице CITY. КОД СТРАНЫ для Японии — JPN.
12 | Таблица CITY описывается следующим образом:
13 |
14 |
15 | #### код с пояснениями:
16 | ```sql
17 | SELECT * /* выбрать данные всех столбцов */
18 | FROM CITY /* из таблицы */
19 | WHERE COUNTRYCODE = 'JPN' /* где условие */
20 | ```
21 |
22 | #### код для hackerrank
23 | ```sql
24 | SELECT * FROM CITY WHERE COUNTRYCODE = 'JPN'
25 | ```
26 |
27 |
28 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
29 |
30 | ---
--------------------------------------------------------------------------------
/tasks/5.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM CITY WHERE COUNTRYCODE = 'JPN'
--------------------------------------------------------------------------------
/tasks/50.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Julia just finished conducting a coding contest, and she needs your help assembling the leaderboard! Write a query
7 | to print the respective hacker_id and name of hackers who achieved full scores for more than one challenge. Order
8 | your output in descending order by the total number of challenges in which the hacker earned a full score. If more
9 | than one hacker received full scores in same number of challenges, then sort them by ascending hacker_id.
10 |
11 |
12 | #### рус:
13 | Джулия только что закончила соревнование по программированию, и ей нужна твоя помощь в составлении таблицы лидеров!
14 | Напишите запрос для вывода соответствующего hacker_id и имен хакеров, набравших максимальное количество баллов за
15 | более чем одну задачу. Упорядочите результат в порядке убывания общего количества испытаний, в которых хакер
16 | заработал полный балл. Если несколько хакеров получили полные баллы за одинаковое количество испытаний, отсортируйте
17 | их по возрастанию hacker_id.
18 |
19 |
20 | #### код с коментариями:
21 | ```sql
22 | SELECT /* выбрать данные */
23 | h.hacker_id, /* столбец */
24 | h.name /* столбец */
25 | FROM Submissions s /* из таблицы */
26 | INNER JOIN Challenges c on s.challenge_id = c.challenge_id /* объединенная с таблицей по столбцу */
27 | INNER JOIN Difficulty d on d.difficulty_level = c.difficulty_level /* объединенная с таблицей по столбцу */
28 | INNER JOIN Hackers h on s.hacker_id = h.hacker_id /* объединенная с таблицей по столбцу */
29 | WHERE d.score = s.score /* где условие */
30 | GROUP BY h.hacker_id,h.name /* сгруппировать по */
31 | HAVING COUNT(s.hacker_id) > 1 /* где условие */
32 | ORDER BY COUNT(s.challenge_id) desc,s.hacker_id; /* отсортировать по */
33 | ```
34 |
35 | #### код для hackerrank:
36 | ```sql
37 | SELECT
38 | h.hacker_id,
39 | h.name
40 | FROM Submissions s
41 | INNER JOIN Challenges c on s.challenge_id = c.challenge_id
42 | INNER JOIN Difficulty d on d.difficulty_level = c.difficulty_level
43 | INNER JOIN Hackers h on s.hacker_id = h.hacker_id
44 | WHERE d.score = s.score
45 | GROUP BY h.hacker_id,h.name
46 | HAVING COUNT(s.hacker_id) > 1
47 | ORDER BY COUNT(s.challenge_id) desc,s.hacker_id;
48 | ```
49 |
50 |
51 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
52 |
53 | ---
--------------------------------------------------------------------------------
/tasks/50.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | h.hacker_id,
3 | h.name
4 | FROM Submissions s
5 | INNER JOIN Challenges c on s.challenge_id = c.challenge_id
6 | INNER JOIN Difficulty d on d.difficulty_level = c.difficulty_level
7 | INNER JOIN Hackers h on s.hacker_id = h.hacker_id
8 | WHERE d.score = s.score
9 | GROUP BY h.hacker_id,h.name
10 | HAVING COUNT(s.hacker_id) > 1
11 | ORDER BY COUNT(s.challenge_id) desc,s.hacker_id;
--------------------------------------------------------------------------------
/tasks/51.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Harry Potter and his friends are at Ollivander's with Ron, finally replacing Charlie's old broken wand.
7 |
8 | Hermione decides the best way to choose is by determining the minimum number of gold galleons needed to buy each
9 | non-evil wand of high power and age. Write a query to print the id, age, coins_needed, and power of the wands that
10 | Ron's interested in, sorted in order of descending power. If more than one wand has same power, sort the result in
11 | order of descending age.
12 |
13 |
14 | #### рус:
15 | Гарри Поттер и его друзья находятся у Олливандера с Роном, наконец заменяя старую сломанную палочку Чарли.
16 |
17 | Гермиона решает, что лучший способ сделать выбор — определить минимальное количество золотых галеонов, необходимое
18 | для покупки каждой незлой палочки большой силы и возраста. Напишите запрос для вывода идентификатора, возраста,
19 | требуемых монет и мощности жезлов, которые интересуют Рона, отсортированных в порядке убывания мощности. Если
20 | несколько жезлов имеют одинаковую силу, отсортируйте результат в порядке убывания возраста.
21 |
22 |
23 | #### код с коментариями:
24 | ```sql
25 | SELECT /* выбрать данные */
26 | id, /* столбец */
27 | age, /* столбец */
28 | coins_needed, /* столбец */
29 | power /* столбец */
30 | FROM WANDS AS W INNER JOIN WANDS_PROPERTY AS P /* из таблицы объединенной с таблицей */
31 | ON W.code = P.code /* по столбцу */
32 | WHERE P.is_evil = 0 AND /* где условие1 и */
33 | W.coins_needed = (SELECT MIN(coins_needed) /* условие 2 */
34 | FROM WANDS AS W1 INNER JOIN WANDS_PROPERTY AS P1
35 | ON W1.code = P1.code
36 | WHERE W.power = W1.power AND P.age = P1.age)
37 | ORDER BY W.POWER DESC, P.AGE DESC; /* отсортировать по */
38 | ```
39 |
40 | #### код для hackerrank:
41 | ```sql
42 | SELECT
43 | id,
44 | age,
45 | coins_needed,
46 | power
47 | FROM WANDS AS W INNER JOIN WANDS_PROPERTY AS P
48 | ON W.code = P.code
49 | WHERE P.is_evil = 0 AND
50 | W.coins_needed = (SELECT MIN(coins_needed)
51 | FROM WANDS AS W1 INNER JOIN WANDS_PROPERTY AS P1
52 | ON W1.code = P1.code
53 | WHERE W.power = W1.power AND P.age = P1.age)
54 | ORDER BY W.POWER DESC, P.AGE DESC;
55 | ```
56 |
57 |
58 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
59 |
60 | ---
--------------------------------------------------------------------------------
/tasks/51.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | id,
3 | age,
4 | coins_needed,
5 | power
6 | FROM WANDS AS W INNER JOIN WANDS_PROPERTY AS P
7 | ON W.code = P.code
8 | WHERE P.is_evil = 0 AND
9 | W.coins_needed = (SELECT MIN(coins_needed)
10 | FROM WANDS AS W1 INNER JOIN WANDS_PROPERTY AS P1
11 | ON W1.code = P1.code
12 | WHERE W.power = W1.power AND P.age = P1.age)
13 | ORDER BY W.POWER DESC, P.AGE DESC;
--------------------------------------------------------------------------------
/tasks/52.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Julia asked her students to create some coding challenges. Write a query to print the hacker_id, name, and the total
7 | number of challenges created by each student. Sort your results by the total number of challenges in descending
8 | order. If more than one student created the same number of challenges, then sort the result by hacker_id. If more
9 | than one student created the same number of challenges and the count is less than the maximum number of challenges
10 | created, then exclude those students from the result.
11 |
12 |
13 | #### рус:
14 | Джулия попросила своих учеников создать несколько задач по программированию. Напишите запрос, чтобы вывести
15 | hacker_id, имя и общее количество задач, созданных каждым учеником. Отсортируйте результаты по общему количеству
16 | задач в порядке убывания. Если более одного ученика создали одинаковое количество задач, отсортируйте результат по
17 | hacker_id. Если более одного учащегося создали одинаковое количество задач, а их количество меньше максимального
18 | количества созданных задач, то эти учащиеся исключаются из результатов.
19 |
20 |
21 | #### код с коментариями:
22 | ```sql
23 | WITH count_challenge AS ( /* создадим временную таблицу */
24 | SELECT /* выбрать данные */
25 | Hackers.hacker_id, /* столбец */
26 | name, /* столбец */
27 | COUNT(challenge_id) AS num_of_chal /* столбец */
28 | FROM Hackers, Challenges /* из таблицы */
29 | WHERE Hackers.hacker_id = Challenges.hacker_id /* где условие */
30 | GROUP BY Hackers.hacker_id, name), /* сгруппировать по столбцу */
31 | max_challenge AS (
32 | SELECT /* выбрать данные */
33 | MAX(count_challenge.num_of_chal) AS max_count /* столбец */
34 | FROM count_challenge), /* из таблицы */
35 | count_num_challenge AS (
36 | SELECT /* выбрать данные */
37 | DISTINCT num_of_chal, /* столбец */
38 | COUNT(num_of_chal) AS count_num /* столбец */
39 | FROM count_challenge /* из таблицы */
40 | GROUP BY num_of_chal /* сгруппировать по столбцу */
41 | )
42 |
43 | SELECT /* выбрать данные */
44 | Hackers.hacker_id, /* столбец */
45 | Hackers.name, /* столбец */
46 | cc.num_of_chal /* столбец */
47 | FROM Hackers, count_challenge cc, count_num_challenge cnc, max_challenge /* из таблицы */
48 | WHERE Hackers.hacker_id = cc.hacker_id && /* где условие */
49 | cc.num_of_chal = cnc.num_of_chal &&
50 | (count_num > 1 && cnc.num_of_chal = max_challenge.max_count || count_num = 1)
51 | ORDER BY num_of_chal DESC, hacker_id; /* отсортировть по */
52 | ```
53 |
54 | #### код для hackerrank:
55 | ```sql
56 | WITH count_challenge AS (
57 | SELECT
58 | Hackers.hacker_id,
59 | name,
60 | COUNT(challenge_id) AS num_of_chal
61 | FROM Hackers, Challenges
62 | WHERE Hackers.hacker_id = Challenges.hacker_id
63 | GROUP BY Hackers.hacker_id, name),
64 | max_challenge AS (
65 | SELECT
66 | MAX(count_challenge.num_of_chal) AS max_count
67 | FROM count_challenge),
68 | count_num_challenge AS (
69 | SELECT
70 | DISTINCT num_of_chal,
71 | COUNT(num_of_chal) AS count_num
72 | FROM count_challenge
73 | GROUP BY num_of_chal
74 | )
75 |
76 | SELECT
77 | Hackers.hacker_id,
78 | Hackers.name,
79 | cc.num_of_chal
80 | FROM Hackers, count_challenge cc, count_num_challenge cnc, max_challenge
81 | WHERE Hackers.hacker_id = cc.hacker_id &&
82 | cc.num_of_chal = cnc.num_of_chal &&
83 | (count_num > 1 && cnc.num_of_chal = max_challenge.max_count || count_num = 1)
84 | ORDER BY num_of_chal DESC, hacker_id;
85 | ```
86 |
87 |
88 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
89 |
90 | ---
--------------------------------------------------------------------------------
/tasks/52.sql:
--------------------------------------------------------------------------------
1 | WITH count_challenge AS (
2 | SELECT
3 | Hackers.hacker_id,
4 | name,
5 | COUNT(challenge_id) AS num_of_chal
6 | FROM Hackers, Challenges
7 | WHERE Hackers.hacker_id = Challenges.hacker_id
8 | GROUP BY Hackers.hacker_id, name),
9 | max_challenge AS (
10 | SELECT
11 | MAX(count_challenge.num_of_chal) AS max_count
12 | FROM count_challenge),
13 | count_num_challenge AS (
14 | SELECT
15 | DISTINCT num_of_chal,
16 | COUNT(num_of_chal) AS count_num
17 | FROM count_challenge
18 | GROUP BY num_of_chal
19 | )
20 |
21 | SELECT
22 | Hackers.hacker_id,
23 | Hackers.name,
24 | cc.num_of_chal
25 | FROM Hackers, count_challenge cc, count_num_challenge cnc, max_challenge
26 | WHERE Hackers.hacker_id = cc.hacker_id &&
27 | cc.num_of_chal = cnc.num_of_chal &&
28 | (count_num > 1 && cnc.num_of_chal = max_challenge.max_count || count_num = 1)
29 | ORDER BY num_of_chal DESC, hacker_id;
--------------------------------------------------------------------------------
/tasks/53.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | P(R) represents a pattern drawn by Julia in R rows. The following pattern represents P(5):
7 |
8 |
9 | Write a query to print the pattern P(20).
10 |
11 |
12 | #### рус:
13 | P(R) представляет узор, нарисованный Джулией в R рядах. Следующий шаблон представляет P(5):
14 |
15 |
16 | Напишите запрос для печати шаблона P(20).
17 |
18 |
19 | #### код с коментариями:
20 | ```sql
21 | WITH RECURSIVE CTE AS ( /* создадим временную таблицу */
22 | SELECT /* выбрать данные */
23 | 20 AS U /* столбец */
24 | UNION ALL /* объединить все */
25 | SELECT /* выбрать данные */
26 | U - 1 AS U /* столбец */
27 | FROM CTE WHERE U > 1 /* из таблицы */
28 | )
29 | SELECT /* выбрать данные */
30 | REPEAT('* ', U) /* повторить */
31 | FROM CTE; /* из таблицы */
32 | ```
33 |
34 | #### код для hackerrank:
35 | ```sql
36 | WITH RECURSIVE CTE AS (
37 | SELECT
38 | 20 AS U
39 | UNION ALL
40 | SELECT
41 | U - 1 AS U
42 | FROM CTE WHERE U > 1
43 | )
44 | SELECT
45 | REPEAT('* ', U)
46 | FROM CTE;
47 | ```
48 |
49 |
50 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
51 |
52 | ---
--------------------------------------------------------------------------------
/tasks/53.sql:
--------------------------------------------------------------------------------
1 | WITH RECURSIVE CTE AS (
2 | SELECT
3 | 20 AS U
4 | UNION ALL
5 | SELECT
6 | U - 1 AS U
7 | FROM CTE WHERE U > 1
8 | )
9 | SELECT
10 | REPEAT('* ', U)
11 | FROM CTE;
--------------------------------------------------------------------------------
/tasks/54.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | P(R) represents a pattern drawn by Julia in R rows. The following pattern represents P(5):
7 |
8 | Write a query to print the pattern P(20).
9 |
10 |
11 | #### рус:
12 | P(R) представляет узор, нарисованный Джулией в R рядах. Следующий шаблон представляет P(5):
13 |
14 | Напишите запрос для печати шаблона P(20).
15 |
16 |
17 | #### код с коментариями:
18 | ```sql
19 | WITH recursive temp_table AS ( /* создадим временную таблицу */
20 | SELECT /* выбрать данные */
21 | 1 AS u, /* столбец */
22 | CAST('*' as CHAR(50)) AS result /* столбец */
23 | UNION ALL /* объединить все */
24 | SELECT u + 1, /* выбрать данные */
25 | repeat('* ', u + 1) AS result /* повторить */
26 | FROM temp_table WHERE u < 20 /* из таблицы */
27 | )
28 |
29 | SELECT result FROM temp_table;
30 | ```
31 |
32 | #### код для hackerrank:
33 | ```sql
34 | WITH recursive temp_table AS (
35 | SELECT
36 | 1 AS u,
37 | CAST('*' as CHAR(50)) AS result
38 | UNION ALL
39 | SELECT u + 1,
40 | repeat('* ', u + 1) AS result
41 | FROM temp_table WHERE u < 20
42 | )
43 |
44 | SELECT result FROM temp_table;
45 | ```
46 |
47 |
48 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
49 |
50 | ---
--------------------------------------------------------------------------------
/tasks/54.sql:
--------------------------------------------------------------------------------
1 | WITH recursive temp_table AS (
2 | SELECT
3 | 1 AS u,
4 | CAST('*' as CHAR(50)) AS result
5 | UNION ALL
6 | SELECT u + 1,
7 | repeat('* ', u + 1) AS result
8 | FROM temp_table WHERE u < 20
9 | )
10 |
11 | SELECT result FROM temp_table;
--------------------------------------------------------------------------------
/tasks/55.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Write a query to print all prime numbers less than or equal to . Print your result on a single line, and use the ampersand () character as your separator (instead of a space).
7 |
8 | For example, the output for all prime numbers would be:
9 |
10 |
11 | #### рус:
12 | Напишите запрос, чтобы вывести все простые числа, меньшие или равные . Выведите результат в одну строку и используйте символ амперсанда () в качестве разделителя (вместо пробела).
13 |
14 | Например, вывод для всех простых чисел будет таким:
15 |
16 |
17 | #### код с коментариями:
18 | ```sql
19 | SELECT
20 | CONCAT(2, '&', REPLACE(GROUP_CONCAT(T2.n ORDER BY T2.n), ',', '&'))
21 | FROM
22 | ( SELECT
23 | T.n FROM ( WITH recursive counter AS (
24 | SELECT
25 | 2 AS n
26 | UNION SELECT
27 | n + 1
28 | FROM counter
29 | WHERE n < 1000 )
30 | SELECT
31 | c1.n AS n,
32 | MOD(c1.n, c2.n) AS r
33 | FROM counter AS c1,
34 | counter AS c2
35 | WHERE c1.n > c2.n ) AS T
36 | GROUP BY T.n
37 | HAVING MIN(T.r) > 0
38 | ORDER BY T.n ) AS T2;
39 |
40 | ```
41 |
42 | #### код для hackerrank:
43 | ```sql
44 | SELECT
45 | CONCAT(2, '&', REPLACE(GROUP_CONCAT(T2.n ORDER BY T2.n), ',', '&'))
46 | FROM
47 | ( SELECT
48 | T.n FROM ( WITH recursive counter AS (
49 | SELECT
50 | 2 AS n
51 | UNION SELECT
52 | n + 1
53 | FROM counter
54 | WHERE n < 1000 )
55 | SELECT
56 | c1.n AS n,
57 | MOD(c1.n, c2.n) AS r
58 | FROM counter AS c1,
59 | counter AS c2
60 | WHERE c1.n > c2.n ) AS T
61 | GROUP BY T.n
62 | HAVING MIN(T.r) > 0
63 | ORDER BY T.n ) AS T2;
64 |
65 | ```
66 |
67 |
68 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
69 |
70 | ---
--------------------------------------------------------------------------------
/tasks/55.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | CONCAT(2, '&', REPLACE(GROUP_CONCAT(T2.n ORDER BY T2.n), ',', '&'))
3 | FROM
4 | ( SELECT
5 | T.n FROM ( WITH recursive counter AS (
6 | SELECT
7 | 2 AS n
8 | UNION SELECT
9 | n + 1
10 | FROM counter
11 | WHERE n < 1000 )
12 | SELECT
13 | c1.n AS n,
14 | MOD(c1.n, c2.n) AS r
15 | FROM counter AS c1,
16 | counter AS c2
17 | WHERE c1.n > c2.n ) AS T
18 | GROUP BY T.n
19 | HAVING MIN(T.r) > 0
20 | ORDER BY T.n ) AS T2;
21 |
--------------------------------------------------------------------------------
/tasks/56.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | Julia conducted a days of learning SQL contest. The start date of the contest was March 01, 2016 and the end date was March 15, 2016.
7 |
8 | Write a query to print total number of unique hackers who made at least submission each day (starting on the first
9 | day of the contest), and find the hacker_id and name of the hacker who made maximum number of submissions each day.
10 | If more than one such hacker has a maximum number of submissions, print the lowest hacker_id. The query should print
11 | this information for each day of the contest, sorted by the date.
12 |
13 |
14 | #### рус:
15 | Юлия провела конкурс дней обучения SQL. Дата начала конкурса 01.03.2016, дата окончания 15.03.2016.
16 |
17 | Напишите запрос для вывода общего количества уникальных хакеров, которые делали как минимум сабмиты каждый день
18 | (начиная с первого дня конкурса), и найдите hacker_id и имя хакера, который сделал максимальное количество сабмитов
19 | каждый день. Если более одного такого хакера имеют максимальное количество представлений, выведите наименьший
20 | hacker_id. Запрос должен вывести эту информацию для каждого дня конкурса, отсортированного по дате.
21 |
22 |
23 | #### код с коментариями:
24 | ```sql
25 | SELECT
26 | b.submission_date, COALESCE(a.contSub,0), b.id, c.name
27 | FROM (
28 | SELECT o.submission_date, MIN(o.hacker_id) AS id
29 | FROM (
30 | SELECT n.submission_date, n.hacker_id,COUNT(n.submission_id)
31 | FROM Submissions n
32 | GROUP BY submission_date, hacker_id
33 | HAVING COUNT(submission_id)>= ALL(
34 | SELECT COUNT(m.submission_id)
35 | FROM Submissions m
36 | GROUP BY m.submission_date, m.hacker_id
37 | HAVING m.submission_date=n.submission_date
38 | )
39 | ) AS o
40 | GROUP BY submission_date
41 | ) AS b
42 | LEFT JOIN (
43 | SELECT aa.submission_date, COUNT(DISTINCT aa.hacker_id) AS contSub
44 | FROM Submissions AS aa
45 | WHERE aa.submission_date='2016-03-01'
46 | OR submission_date STR_TO_DATE('2016-03-01', '%Y-%m-%d') AND bb.SubmittedYtd IS NULL
55 | )
56 | GROUP BY aa.submission_date
57 | ) AS a
58 | ON a.submission_date=b.submission_date
59 | JOIN Hackers c ON b.id=c.hacker_id
60 | ORDER BY a.submission_date ASC
61 | ```
62 |
63 | #### код для hackerrank:
64 | ```sql
65 | SELECT
66 | b.submission_date, COALESCE(a.contSub,0), b.id, c.name
67 | FROM (
68 | SELECT o.submission_date, MIN(o.hacker_id) AS id
69 | FROM (
70 | SELECT n.submission_date, n.hacker_id,COUNT(n.submission_id)
71 | FROM Submissions n
72 | GROUP BY submission_date, hacker_id
73 | HAVING COUNT(submission_id)>= ALL(
74 | SELECT COUNT(m.submission_id)
75 | FROM Submissions m
76 | GROUP BY m.submission_date, m.hacker_id
77 | HAVING m.submission_date=n.submission_date
78 | )
79 | ) AS o
80 | GROUP BY submission_date
81 | ) AS b
82 | LEFT JOIN (
83 | SELECT aa.submission_date, COUNT(DISTINCT aa.hacker_id) AS contSub
84 | FROM Submissions AS aa
85 | WHERE aa.submission_date='2016-03-01'
86 | OR submission_date STR_TO_DATE('2016-03-01', '%Y-%m-%d') AND bb.SubmittedYtd IS NULL
95 | )
96 | GROUP BY aa.submission_date
97 | ) AS a
98 | ON a.submission_date=b.submission_date
99 | JOIN Hackers c ON b.id=c.hacker_id
100 | ORDER BY a.submission_date ASC
101 | ```
102 |
103 |
104 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
105 |
106 | ---
--------------------------------------------------------------------------------
/tasks/56.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | b.submission_date, COALESCE(a.contSub,0), b.id, c.name
3 | FROM (
4 | SELECT o.submission_date, MIN(o.hacker_id) AS id
5 | FROM (
6 | SELECT n.submission_date, n.hacker_id,COUNT(n.submission_id)
7 | FROM Submissions n
8 | GROUP BY submission_date, hacker_id
9 | HAVING COUNT(submission_id)>= ALL(
10 | SELECT COUNT(m.submission_id)
11 | FROM Submissions m
12 | GROUP BY m.submission_date, m.hacker_id
13 | HAVING m.submission_date=n.submission_date
14 | )
15 | ) AS o
16 | GROUP BY submission_date
17 | ) AS b
18 | LEFT JOIN (
19 | SELECT aa.submission_date, COUNT(DISTINCT aa.hacker_id) AS contSub
20 | FROM Submissions AS aa
21 | WHERE aa.submission_date='2016-03-01'
22 | OR submission_date STR_TO_DATE('2016-03-01', '%Y-%m-%d') AND bb.SubmittedYtd IS NULL
31 | )
32 | GROUP BY aa.submission_date
33 | ) AS a
34 | ON a.submission_date=b.submission_date
35 | JOIN Hackers c ON b.id=c.hacker_id
36 | ORDER BY a.submission_date ASC
--------------------------------------------------------------------------------
/tasks/57.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | You are given a table, Projects, containing three columns: Task_ID, Start_Date and End_Date. It is guaranteed that the difference between the End_Date and the Start_Date is equal to 1 day for each row in the table.
7 |
8 |
9 |
10 | If the End_Date of the tasks are consecutive, then they are part of the same project. Samantha is interested in finding the total number of different projects completed.
11 |
12 | Write a query to output the start and end dates of projects listed by the number of days it took to complete the
13 | project in ascending order. If there is more than one project that have the same number of completion days, then
14 | order by the start date of the project.
15 |
16 |
17 | #### рус:
18 | Вам дана таблица Projects, содержащая три столбца: Task_ID, Start_Date и End_Date. Гарантируется, что разница между End_Date и Start_Date равна 1 дню для каждой строки в таблице.
19 |
20 |
21 |
22 | Если End_Date задач совпадают, то они являются частью одного и того же проекта. Саманте интересно узнать общее количество завершенных различных проектов.
23 |
24 | Напишите запрос для вывода дат начала и окончания проектов, перечисленных по количеству дней, затраченных на
25 | выполнение проекта, в порядке возрастания. Если имеется более одного проекта с одинаковым количеством дней
26 | завершения, заказывайте по дате начала проекта.
27 |
28 |
29 | #### код с коментариями:
30 | ```sql
31 | /* Этот внешний запрос предназначен только для упорядочения по продолжительности проекта */
32 | SELECT
33 | P3.sd,P3.ed
34 | FROM
35 | (SELECT
36 | MIN(P1.Start_Date) AS sd,
37 | P2.End_Date AS ed
38 | FROM Projects AS P1
39 | INNER JOIN Projects AS P2
40 | ON p2.End_Date
41 | NOT IN (SELECT
42 | Start_Date
43 | FROM Projects)
44 | /*мы исключаем даты окончания, существующие на Start_Date, что означает, что они являются частью одного и того же проекта*/
45 | AND
46 | /*Как только мы нашли дату окончания, не совпадающую с любой из дат начала, мы проверяем в обратном порядке, сколько других столбцов есть
47 | в течение одного и того же промежутка времени считайте их первыми, если число равно разнице в днях, что означает, что они на самом деле
48 | связаны. Используйте «группировать по» End_date с MIN(), чтобы найти самую раннюю дату начала, которая связана */
49 | (SELECT
50 | COUNT(*)
51 | FROM Projects
52 | WHERE Start_Date BETWEEN P1.Start_Date AND P2.End_Date ) = DATEDIFF(P2.End_Date,P1.Start_Date)
53 | GROUP BY P2.End_Date) AS P3
54 | ORDER by DATEDIFF(P3.ed, P3.sd), P3.sd ;
55 | ```
56 |
57 | #### код для hackerrank:
58 | ```sql
59 | SELECT
60 | P3.sd,P3.ed
61 | FROM
62 | (SELECT
63 | MIN(P1.Start_Date) AS sd,
64 | P2.End_Date AS ed
65 | FROM Projects AS P1
66 | INNER JOIN Projects AS P2
67 | ON p2.End_Date
68 | NOT IN (SELECT
69 | Start_Date
70 | FROM Projects)
71 | AND
72 | (SELECT
73 | COUNT(*)
74 | FROM Projects
75 | WHERE Start_Date BETWEEN P1.Start_Date AND P2.End_Date ) = DATEDIFF(P2.End_Date,P1.Start_Date)
76 | GROUP BY P2.End_Date) AS P3
77 | ORDER by DATEDIFF(P3.ed, P3.sd), P3.sd ;
78 | ```
79 |
80 |
81 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
82 |
83 | ---
--------------------------------------------------------------------------------
/tasks/57.sql:
--------------------------------------------------------------------------------
1 | SELECT
2 | P3.sd,P3.ed
3 | FROM
4 | (SELECT
5 | MIN(P1.Start_Date) AS sd,
6 | P2.End_Date AS ed
7 | FROM Projects AS P1
8 | INNER JOIN Projects AS P2
9 | ON p2.End_Date
10 | NOT IN (SELECT
11 | Start_Date
12 | FROM Projects)
13 | AND
14 | (SELECT
15 | COUNT(*)
16 | FROM Projects
17 | WHERE Start_Date BETWEEN P1.Start_Date AND P2.End_Date ) = DATEDIFF(P2.End_Date,P1.Start_Date)
18 | GROUP BY P2.End_Date) AS P3
19 | ORDER by DATEDIFF(P3.ed, P3.sd), P3.sd ;
--------------------------------------------------------------------------------
/tasks/58.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | You are given three tables: Students, Friends and Packages. Students contains two columns: ID and Name. Friends contains two columns: ID and Friend_ID (ID of the ONLY best friend). Packages contains two columns: ID and Salary (offered salary in $ thousands per month).
7 |
8 |
9 |
10 | Write a query to output the names of those students whose best friends got offered a higher salary than them. Names
11 | must be ordered by the salary amount offered to the best friends. It is guaranteed that no two students got same
12 | salary offer.
13 |
14 |
15 | #### рус:
16 | Вам дается три таблицы: Студенты, Друзья и Пакеты. Студенты содержит два столбца: идентификатор и имя. Друзья содержит две колонки: ID и Friend_ID (ID ЕДИНСТВЕННОГО лучшего друга). Пакеты содержат две колонки: ID и Salary (предлагаемая зарплата в тысячах долларов в месяц).
17 |
18 |
19 |
20 | Напишите запрос для вывода имен тех студентов, чьим лучшим друзьям предложили более высокую зарплату, чем они. Имена
21 | должны быть упорядочены по сумме зарплаты, предлагаемой лучшим друзьям. Гарантируется, что никакие два студента не
22 | получили одинаковое предложение по зарплате.
23 |
24 |
25 | #### код с коментариями:
26 | ```sql
27 | SELECT std.name
28 | FROM students std
29 | JOIN friends frnd ON std.id=frnd.id
30 | JOIN packages std_pkg ON std.id=std_pkg.id
31 | JOIN packages frnd_pkg ON frnd.friend_id=frnd_pkg.id
32 | WHERE frnd_pkg.salary > std_pkg.salary
33 | ORDER BY frnd_pkg.salary;
34 | ```
35 |
36 | #### код для hackerrank:
37 | ```sql
38 | SELECT std.name
39 | FROM students std
40 | JOIN friends frnd ON std.id=frnd.id
41 | JOIN packages std_pkg ON std.id=std_pkg.id
42 | JOIN packages frnd_pkg ON frnd.friend_id=frnd_pkg.id
43 | WHERE frnd_pkg.salary > std_pkg.salary
44 | ORDER BY frnd_pkg.salary;
45 | ```
46 |
47 |
48 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
49 |
50 | ---
--------------------------------------------------------------------------------
/tasks/58.sql:
--------------------------------------------------------------------------------
1 | SELECT std.name
2 | FROM students std
3 | JOIN friends frnd ON std.id=frnd.id
4 | JOIN packages std_pkg ON std.id=std_pkg.id
5 | JOIN packages frnd_pkg ON frnd.friend_id=frnd_pkg.id
6 | WHERE frnd_pkg.salary > std_pkg.salary
7 | ORDER BY frnd_pkg.salary;
--------------------------------------------------------------------------------
/tasks/59.md:
--------------------------------------------------------------------------------
1 | ###
2 |
3 |
4 |
5 | #### eng:
6 | You are given a table, Functions, containing two columns: X and Y.
7 |
8 | Two pairs (X1, Y1) and (X2, Y2) are said to be symmetric pairs if X1 = Y2 and X2 = Y1.
9 |
10 | Write a query to output all such symmetric pairs in ascending order by the value of X. List the rows such that X1 ≤ Y1.
11 |
12 |
13 | #### рус:
14 | Вам дана таблица «Функции», содержащая два столбца: X и Y.
15 |
16 | Две пары (X1, Y1) и (X2, Y2) называются симметричными парами, если X1 = Y2 и X2 = Y1.
17 |
18 | Напишите запрос, чтобы вывести все такие симметричные пары в порядке возрастания значения X. Перечислите строки, такие что X1 ≤ Y1.
19 |
20 | #### код с коментариями:
21 | ```sql
22 | SELECT f1.x, f1.y from functions f1
23 | INNER JOIN functions f2
24 | WHERE (f2.x = f1.y)
25 | AND (f1.x = f2.y)
26 | GROUP BY f1.x, f1.y
27 | HAVING ((f1.x = f1.y) AND (COUNT(*) > 1))
28 | OR (f1.x < f1.y)
29 | ORDER BY f1.x;
30 | ```
31 |
32 | #### код для hackerrank:
33 | ```sql
34 | SELECT f1.x, f1.y from functions f1
35 | INNER JOIN functions f2
36 | WHERE (f2.x = f1.y)
37 | AND (f1.x = f2.y)
38 | GROUP BY f1.x, f1.y
39 | HAVING ((f1.x = f1.y) AND (COUNT(*) > 1))
40 | OR (f1.x < f1.y)
41 | ORDER BY f1.x;
42 | ```
43 |
44 |
45 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
46 |
47 | ---
--------------------------------------------------------------------------------
/tasks/6.md:
--------------------------------------------------------------------------------
1 | ### Названия японских городов [Japanese Cities' Names]
2 |
3 |
4 |
5 | #### eng:
6 | Query the names of all the Japanese cities in the CITY table. The COUNTRYCODE for Japan is JPN.
7 | The CITY table is described as follows:
8 |
9 |
10 | #### рус:
11 | Запросите названия всех японских городов в таблице CITY. КОД СТРАНЫ для Японии — JPN.
12 | Таблица CITY описывается следующим образом:
13 |
14 |
15 | #### код с пояснениями:
16 | ```sql
17 | SELECT NAME /* выбрать данные столбца */
18 | FROM CITY /* из таблицы */
19 | WHERE COUNTRYCODE = 'JPN' /* где условие */
20 | ```
21 |
22 | #### код для hackerrank:
23 | ```sql
24 | SELECT NAME FROM CITY WHERE COUNTRYCODE = 'JPN'
25 | ```
26 |
27 |
28 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
29 |
30 | ---
--------------------------------------------------------------------------------
/tasks/6.sql:
--------------------------------------------------------------------------------
1 | SELECT NAME FROM CITY WHERE COUNTRYCODE = 'JPN'
--------------------------------------------------------------------------------
/tasks/7.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 1 [Weather Observation Station 1]
2 |
3 |
4 |
5 | #### eng:
6 | Query a list of CITY and STATE from the STATION table.
7 | The STATION table is described as follows:
8 |
9 | where LAT_N is the northern latitude and LONG_W is the western longitude.
10 |
11 |
12 | #### рус:
13 | Запросите список CITY и STATE из таблицы STATION.
14 | Таблица STATION описывается следующим образом:
15 |
16 | где LAT_N — северная широта, а LONG_W — западная долгота.
17 |
18 |
19 | #### код с пояснениями:
20 | ```sql
21 | SELECT /* выбрать данные */
22 | CITY, /* столбец */
23 | STATE /* столбец */
24 | FROM STATION /* из таблицы */
25 | ```
26 |
27 | #### код для hackerrank:
28 | ```sql
29 | SELECT CITY, STATE FROM STATION
30 | ```
31 |
32 |
33 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
34 |
35 | ---
--------------------------------------------------------------------------------
/tasks/7.sql:
--------------------------------------------------------------------------------
1 | SELECT CITY, STATE FROM STATION
--------------------------------------------------------------------------------
/tasks/8.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 3 [Weather Observation Station 3]
2 |
3 |
4 |
5 | #### eng:
6 | Query a list of CITY names from STATION for cities that have an even ID number. Print the results in any order, but exclude duplicates from the answer.
7 | The STATION table is described as follows:
8 | where LAT_N is the northern latitude and LONG_W is the western longitude.
9 |
10 |
11 | #### рус:
12 | Запросите список названий ГОРОДА из STATION для городов с четным идентификационным номером. Выведите результаты в
13 | любом порядке, но исключите дубликаты из ответа.
14 | Таблица STATION описывается следующим образом:
15 | где LAT_N — северная широта, а LONG_W — западная долгота.
16 |
17 |
18 | #### код с пояснениями:
19 | ```sql
20 | SELECT DISTINCT CITY /* выбрать уникальные значения столбца */
21 | FROM STATION /* из таблицы */
22 | WHERE MOD(ID,2)=0 /* где модуль деления на 2 столбца = 0 */
23 | ```
24 |
25 | #### код для hackerrank
26 | ```sql
27 | SELECT DISTINCT CITY FROM STATION
28 | WHERE MOD(ID,2)=0
29 | ```
30 |
31 | ```SQL
32 | SELECT DISTINCT CITY FROM STATION
33 | WHERE ID%2=0
34 | ```
35 |
36 |
37 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
38 |
39 | ---
--------------------------------------------------------------------------------
/tasks/8.sql:
--------------------------------------------------------------------------------
1 | SELECT DISTINCT CITY FROM STATION
2 | WHERE MOD(ID,2)=0
--------------------------------------------------------------------------------
/tasks/9.md:
--------------------------------------------------------------------------------
1 | ### Станция наблюдения за погодой 4 [Weather Observation Station 4]
2 |
3 |
4 |
5 | #### eng:
6 | Find the difference between the total number of CITY entries in the table and the number of distinct CITY entries in
7 | the table.
8 | The STATION table is described as follows:
9 |
10 | where LAT_N is the northern latitude and LONG_W is the western longitude.
11 | For example, if there are three records in the table with CITY values 'New York', 'New York', 'Bengalaru', there are
12 | 2 different city names: 'New York' and 'Bengalaru'. The query returns , because .
13 |
14 |
15 | #### рус:
16 | Найдите разницу между общим количеством записей CITY в таблице и количеством отдельных записей CITY в таблице.
17 | Таблица STATION описывается следующим образом:
18 |
19 | где LAT_N — северная широта, а LONG_W — западная долгота.
20 |
21 | Например, если в таблице есть три записи со значениями ГОРОД «Нью-Йорк», «Нью-Йорк», «Бенгалару», есть 2 разных названия
22 | города: «Нью-Йорк» и «Бенгалару». Запрос возвращает , потому что .
23 |
24 |
25 |
26 | #### код с пояснениями:
27 | ```sql
28 | SELECT /* выбрать данные */
29 | -- количество (столбца) минус количество (уникальных значений)
30 | COUNT(CITY) - COUNT(DISTINCT CITY) /* столбец разницы */
31 | FROM STATION /* из таблицы */
32 | ```
33 |
34 | #### код для hackerrank
35 | ```sql
36 | SELECT COUNT(CITY)- COUNT(DISTINCT CITY) FROM STATION
37 | ```
38 |
39 |
40 | #### На [главную](https://github.com/BEPb/hackerrank_sql#readme)
41 |
42 | ---
--------------------------------------------------------------------------------
/tasks/9.sql:
--------------------------------------------------------------------------------
1 | SELECT COUNT(CITY)- COUNT(DISTINCT CITY) FROM STATION
--------------------------------------------------------------------------------
/tasks/art/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/1.png
--------------------------------------------------------------------------------
/tasks/art/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/10.png
--------------------------------------------------------------------------------
/tasks/art/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/11.png
--------------------------------------------------------------------------------
/tasks/art/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/12.png
--------------------------------------------------------------------------------
/tasks/art/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/13.png
--------------------------------------------------------------------------------
/tasks/art/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/14.png
--------------------------------------------------------------------------------
/tasks/art/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/15.png
--------------------------------------------------------------------------------
/tasks/art/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/16.png
--------------------------------------------------------------------------------
/tasks/art/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/17.png
--------------------------------------------------------------------------------
/tasks/art/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/18.png
--------------------------------------------------------------------------------
/tasks/art/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/19.png
--------------------------------------------------------------------------------
/tasks/art/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/2.png
--------------------------------------------------------------------------------
/tasks/art/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/20.png
--------------------------------------------------------------------------------
/tasks/art/21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/21.png
--------------------------------------------------------------------------------
/tasks/art/22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/22.png
--------------------------------------------------------------------------------
/tasks/art/23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/23.png
--------------------------------------------------------------------------------
/tasks/art/24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/24.png
--------------------------------------------------------------------------------
/tasks/art/25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/25.png
--------------------------------------------------------------------------------
/tasks/art/26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/26.png
--------------------------------------------------------------------------------
/tasks/art/27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/27.png
--------------------------------------------------------------------------------
/tasks/art/28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/28.png
--------------------------------------------------------------------------------
/tasks/art/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/29.png
--------------------------------------------------------------------------------
/tasks/art/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/3.png
--------------------------------------------------------------------------------
/tasks/art/30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/30.png
--------------------------------------------------------------------------------
/tasks/art/31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/31.png
--------------------------------------------------------------------------------
/tasks/art/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/32.png
--------------------------------------------------------------------------------
/tasks/art/33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/33.png
--------------------------------------------------------------------------------
/tasks/art/34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/34.png
--------------------------------------------------------------------------------
/tasks/art/35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/35.png
--------------------------------------------------------------------------------
/tasks/art/36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/36.png
--------------------------------------------------------------------------------
/tasks/art/37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/37.png
--------------------------------------------------------------------------------
/tasks/art/38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/38.png
--------------------------------------------------------------------------------
/tasks/art/39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/39.png
--------------------------------------------------------------------------------
/tasks/art/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/4.png
--------------------------------------------------------------------------------
/tasks/art/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/40.png
--------------------------------------------------------------------------------
/tasks/art/41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/41.png
--------------------------------------------------------------------------------
/tasks/art/42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/42.png
--------------------------------------------------------------------------------
/tasks/art/44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/44.png
--------------------------------------------------------------------------------
/tasks/art/45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/45.png
--------------------------------------------------------------------------------
/tasks/art/46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/46.png
--------------------------------------------------------------------------------
/tasks/art/47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/47.png
--------------------------------------------------------------------------------
/tasks/art/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/48.png
--------------------------------------------------------------------------------
/tasks/art/49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/49.png
--------------------------------------------------------------------------------
/tasks/art/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/5.png
--------------------------------------------------------------------------------
/tasks/art/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/50.png
--------------------------------------------------------------------------------
/tasks/art/51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/51.png
--------------------------------------------------------------------------------
/tasks/art/52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/52.png
--------------------------------------------------------------------------------
/tasks/art/53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/53.png
--------------------------------------------------------------------------------
/tasks/art/54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/54.png
--------------------------------------------------------------------------------
/tasks/art/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/55.png
--------------------------------------------------------------------------------
/tasks/art/56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/56.png
--------------------------------------------------------------------------------
/tasks/art/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/57.png
--------------------------------------------------------------------------------
/tasks/art/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/58.png
--------------------------------------------------------------------------------
/tasks/art/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/6.png
--------------------------------------------------------------------------------
/tasks/art/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/7.png
--------------------------------------------------------------------------------
/tasks/art/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/8.png
--------------------------------------------------------------------------------
/tasks/art/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BEPb/hackerrank_sql/f47b9cb7d6fa11713c8c517e5eeced6fd9e70cca/tasks/art/9.png
--------------------------------------------------------------------------------