SQL Pro
5.07K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Download Telegram
Какой результат возвратит MS SQL запрос с картинки выше?
Anonymous Quiz
7%
test
5%
test@
23%
4%
12%
Ничего из перечисленного
38%
Посмотреть ответ
#вопрос5

Напишите код, который выведет записи с нечётными id.

#вопросы #собеседование
👍1
Ответ на #вопрос5

Решение для PostgreSQL:

SELECT
cust.*
FROM customers AS cust
WHERE MOD (cust.id, 2) = 1;

MOD возвращает остаток от деления.

Для чётных чисел:
MOD (cust.id, 2) = 0;

В MS SQL вместо MOD используйте %:
cust.id%2 = 1;
cust.id%2 = 0;


Данное решение предполагает, что в колонке id содержатся целые положительные числа, начиная с 1.

#вопросы #собеседование
Задача на логику.

Какая цифра должна быть на месте знака вопроса?

Решение будет вечером.

#логика
Решение сегодняшней задачи на логику.

Ответ: 1.

Цифры справа — это количество кругов в числах слева. В последнем числе круг есть только в цифре 6, поэтому верный ответ — 1.

#логика
Tips & Tricks. Что такое SQL-инъекция и как ее предотвратить

Разбираемся, каким образом SQL может быть использован для атаки на веб-сайты.

#sql

Читать статью
👍1
Всем привет! Некоторые наши активные подписчики упоминали о том, что в задачах хотелось бы точно знать, о какой СУБД идёт речь.

Мы это учли по мере возможности, но ещё хотим узнать, какие именно СУБД вас интересуют? По результатам опроса станет понятно, на чем нам фокусировать внимание при составлении задач и ответов на них.

Проголосуйте, пожалуйста, в опросе ниже.
Какой оператор используется в PostgreSQL для экспорта таблицы в .csv файл?
Anonymous Quiz
8%
COPY
22%
EXPORT
5%
CSV_BATCH
42%
CSV_EXPORT
3%
Ничего из перечисленного
19%
Посмотреть ответы
Трюк дня. Удаление лишних пробелов в строке с использованием REGEX.

Предположим, есть строка, содержащая такой текст:
This is a test string

Требуется удалить из строки лишние пробелы.


Решение:
Используйте функцию REGEXP_REPLACE:

SELECT
REGEXP_REPLACE('This is a test string','( ){2,}',' ');


Данная функция поддерживается в PostgreSQL и MySQL.

#tips
#вопрос6

Что такое Представление?

#вопросы #собеседование
Ответ на #вопрос6

Представление - это виртуальная таблица, созданная на основе результата выполнения SQL-запроса.

Представление содержит строки и столбцы, как и реальная таблица.

Поля в представлении - это поля из одной или нескольких реальных таблиц в базе данных.

#вопросы #собеседование
Tips & Tricks. Индексация: Базовые понятия

В этой статье на простом примере описано, что такое индексация, индекс, рассмотрены некоторые типы индексов и способы их создания.

#sql

Читать статью
👍1
Трюк дня. Найти максимальное значение из двух колонок таблицы

Например, есть таблица:

customer value_1 value_2
Alex 5 18
Sam 1 19
Sam 3 2

В результате нужно получить следующее:

customer max
Alex 18
Sam 19
Sam 3


В PostgreSQL, MySQL и Oracle можно воспользоваться функцией GREATEST:

SELECT customer, GREATEST (value_1, value_2) FROM table;


В SQL Server подобной функции нет, поэтому можно решить эту задачу так:

SELECT customer, MAX (x.combined_val) AS greatest
FROM table AS u
CROSS APPLY (SELECT u.value_1 UNION ALL SELECT u.value_2) AS x(combined_val)
GROUP BY customer;

#tips
Какой один и тот же результат возвращают данные функции:

LENGTH в MySQL, OCTET_LENGTH в PostgreSQL, DATALENGTH в MS SQL, LENGTHB в Oracle?
Anonymous Quiz
43%
Количество символов в строке
4%
Количество слов в строке
38%
Длину строки в байтах
4%
Ничего из перечисленного
10%
Посмотреть ответы