SQL Pro
5.28K subscribers
145 photos
10 files
124 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
加入频道
Трюк дня. Подсчет уникальных id с учетом NULLs в PostgreSQL. Решение

WITH new_table AS (
SELECT id FROM t1
UNION
SELECT NULL
)
SELECT
COUNT(*),
COUNT(DISTINCT id)
FROM new_table;

#tips
👎4🍌4👍2
С помощью какого ключевого слова можно соединить строки из нескольких таблиц, основываясь на их связи?
Anonymous Quiz
4%
IMPLODE
83%
JOIN
4%
WHERE
4%
Все варианты неверные
5%
Узнать ответ
👍11👎5🌚21
#вопрос32

Что вы знаете о функции OVERLAY() в PostgreSQL?

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

Функция OVERLAY() заменяет часть строки на другую подстроку, начиная с заданной позиции:

OVERLAY(main_string PLACING replacing_string FROM int [FOR int]);

main_string -
строка, которую изменяем.

replacing_string - подстрока, которую вставляем в main_string.

FROM int - позиция, с которой начнётся замена.

FOR int - количество заменяемых символов. Необязательно.

Например:

SELECT OVERLAY('who Pro' PLACING 'SQL' FROM 1);

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

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

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

Ответ: (5-(1:5))*5=24

#логика
👍33👎1
Трюк дня. Выбор предыдущего значения для каждой группы в MySQL

Есть таблица orders_comb со следующими данными:
p_type   year   values
Car 2001 350000
Car 2002 550000
Plane 2002 8900000
Bicycle 2000 1500
Bicycle 2001 2400


Напишите MySQL запрос, который для каждой записи возвратит values из предыдущего year внутри каждого p_type.

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

#tips
👍5
Трюк дня. Выбор предыдущего значения для каждой группы в MySQL. Решение

SELECT
p_type,
year,
values,
LAG (values, 1) OVER (
PARTITION BY p_type
ORDER BY year
) prev_year_value
FROM
orders_comb;

#tips
👍10
🔥7👎4
#вопрос33

Таблица enrollments содержит некорректные данные с ids между 20 и 100 (включительно).

TABLE enrollments
id INTEGER NOT NULL PRIMARY KEY
year INTEGER NOT NULL
studentId INTEGER NOT NULL

Напишите запрос, который запишет в поле year каждой некорректной записи значение 2015.

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

UPDATE enrollments
SET year = 2015
WHERE id>= 20 and id<= 100;

#вопросы #собеседование
👍1
Статья дня. Коллекция готовых SQL запросов для PostgreSQL.

#sql

Читать статью
Выберите пример корректно написанного запроса с использованием подзапроса, который выводит информацию о заказе с самой дорогой стоимостью:
Anonymous Quiz
4%
SELECT * FROM orders WHERE price = (SELECT big(price) FROM orders);
8%
SELECT * FROM orders WHERE price = MAX;
2%
SELECT COUNT(*) FROM orders;
79%
SELECT * FROM orders WHERE price = (SELECT MAX(price) FROM orders);
7%
Посмотреть ответы
👍12
#вопрос34

Из PostgreSQL таблицы customers необходимо выбрать записи всех клиентов НЕ из департамента Sales.

name dept
Jones Sales
Powers Sales
Braun NULL
Louns Dev


Почему данный запрос вернёт неверный результат?
Исправьте его.

SELECT *
FROM customers
WHERE dept <> ‘Sales‘;


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

При использовании оператора <> значения NULL не учитываются.

Правильный запрос:

SELECT *
FROM customers
WHERE dept <> ‘Sales‘

OR dept IS NULL;

#вопросы #собеседование
👍11
Какой запрос выведет среднюю зарплату работников, если зарплата каждого высчитывается по формуле = (experience*1.5*10000)?
Anonymous Quiz
9%
SELECT (experience*1.5*10000) AS average_pay FROM employees;
42%
SELECT AVERAGE ((experience*1.5*10000)) AS average_pay FROM employees;
21%
SELECT AVGVALUE((experience*1.5*10000)) AS average_pay FROM employees;
19%
Ничего из перечисленного
8%
Посмотреть ответы
👍11
😁48👍6🤯5👎1🥴1
Где правильно указан тип для поля идентификатора "ID"?
Anonymous Quiz
3%
id FLOAT
8%
id CHAR
48%
id INT
34%
id INTEGER
8%
Посмотреть ответы
👎26👍6
Внутрь какого из перечисленных операторов может быть помещён подзапрос?
Anonymous Quiz
29%
Оператор WHERE
7%
Оператор HAVING
19%
Оператор FROM
41%
Все вышеперечисленные
3%
Посмотреть ответы
#вопрос35

Для чего используется выражение: INSERT INTO SELECT.

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

#вопросы #собеседование
🏆3👍1